CVE-2025-40131
Full vulnerability record from the local CVENow database.
Description
In the Linux kernel, the following vulnerability has been resolved: wifi: ath12k: Fix peer lookup in ath12k_dp_mon_rx_deliver_msdu() In ath12k_dp_mon_rx_deliver_msdu(), peer lookup fails because rxcb->peer_id is not updated with a valid value. This is expected in monitor mode, where RX frames bypass the regular RX descriptor path that typically sets rxcb->peer_id. As a result, the peer is NULL, and link_id and link_valid fields in the RX status are not populated. This leads to a WARN_ON in mac80211 when it receives data frame from an associated station with invalid link_id. Fix this potential issue by using ppduinfo->peer_id, which holds the correct peer id for the received frame. This ensures that the peer is correctly found and the associated link metadata is updated accordingly. Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1
View original CVE JSON
{
"id": "CVE-2025-40131",
"sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"published": "2025-11-12T11:15:42.753",
"lastModified": "2026-10-19T21:10:00.160",
"vulnStatus": "Deferred",
"cveTags": [],
"descriptions": [
{
"lang": "en",
"value": "In the Linux kernel, the following vulnerability has been resolved:\n\nwifi: ath12k: Fix peer lookup in ath12k_dp_mon_rx_deliver_msdu()\n\nIn ath12k_dp_mon_rx_deliver_msdu(), peer lookup fails because\nrxcb->peer_id is not updated with a valid value. This is expected\nin monitor mode, where RX frames bypass the regular RX\ndescriptor path that typically sets rxcb->peer_id.\nAs a result, the peer is NULL, and link_id and link_valid fields\nin the RX status are not populated. This leads to a WARN_ON in\nmac80211 when it receives data frame from an associated station\nwith invalid link_id.\n\nFix this potential issue by using ppduinfo->peer_id, which holds\nthe correct peer id for the received frame. This ensures that the\npeer is correctly found and the associated link metadata is updated\naccordingly.\n\nTested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1"
},
{
"lang": "es",
"value": "En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta:\n\nwifi: ath12k: Corrección de la búsqueda de par en ath12k_dp_mon_rx_deliver_msdu()\n\nEn ath12k_dp_mon_rx_deliver_msdu(), la búsqueda de par falla porque rxcb->peer_id no se actualiza con un valor válido. Esto es esperado en modo monitor, donde los *frames* RX omiten la ruta regular del descriptor RX que típicamente establece rxcb->peer_id. Como resultado, el par es NULL, y los campos link_id y link_valid en el estado RX no se rellenan. Esto provoca un WARN_ON en mac80211 cuando recibe un *data frame* de una estación asociada con un link_id inválido.\n\nSe corrige este potencial problema utilizando ppduinfo->peer_id, que contiene el ID de par correcto para el *frame* recibido. Esto asegura que el par se encuentre correctamente y que los metadatos de enlace asociados se actualicen en consecuencia.\n\nProbado en: QCN9274 hw2.0 PCI WLAN.WBE.1.4.1-00199-QCAHKSWPL_SILICONZ-1"
}
],
"affected": [
{
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
"affectedData": [
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "unaffected",
"programFiles": [
"drivers/net/wireless/ath/ath12k/dp_mon.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "bd00cc7e8a4c1048d14c9a9e9790c582119785fb",
"lessThan": "da64eb2da76ce5626238a951fdf3e81810454427",
"versionType": "git",
"status": "affected"
},
{
"version": "bd00cc7e8a4c1048d14c9a9e9790c582119785fb",
"lessThan": "7ca61ed8b3f3fc9a7decd68039cb1d7d1238c566",
"versionType": "git",
"status": "affected"
},
{
"version": "124bd8cea02395a1a140f1dcc5e57c65cdd428af",
"versionType": "git",
"status": "affected"
},
{
"version": "6.15.3",
"lessThan": "6.16",
"versionType": "semver",
"status": "affected"
}
]
},
{
"vendor": "Linux",
"product": "Linux",
"defaultStatus": "affected",
"programFiles": [
"drivers/net/wireless/ath/ath12k/dp_mon.c"
],
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"versions": [
{
"version": "6.16",
"status": "affected"
},
{
"version": "0",
"lessThan": "6.16",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.17.3",
"lessThanOrEqual": "6.17.*",
"versionType": "semver",
"status": "unaffected"
},
{
"version": "6.18",
"lessThanOrEqual": "*",
"versionType": "original_commit_for_fix",
"status": "unaffected"
}
]
}
]
}
],
"metrics": {},
"references": [
{
"url": "https://git.kernel.org/stable/c/7ca61ed8b3f3fc9a7decd68039cb1d7d1238c566",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
},
{
"url": "https://git.kernel.org/stable/c/da64eb2da76ce5626238a951fdf3e81810454427",
"source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
}
]
}