CVE-2024-26826

In the Linux kernel, the following vulnerability has been resolved: mptcp: fix data re-injection from stale subflow When the MPTCP PM detects that a subflow is stale, all the packet scheduler must re-inject all the mptcp-level unacked data. To avoid acquiring unneeded locks, it first try to check if any unacked data is present at all in the RTX queue, but such check is currently broken, as it uses TCP-specific helper on an MPTCP socket. Funnily enough fuzzers and static checkers are happy, as the accessed memory still belongs to the mptcp_sock struct, and even from a functional perspective the recovery completed successfully, as the short-cut test always failed. A recent unrelated TCP change - commit d5fed5addb2b ("tcp: reorganize tcp_sock fast path variables") - exposed the issue, as the tcp field reorganization makes the mptcp code always skip the re-inection. Fix the issue dropping the bogus call: we are on a slow path, the early optimization proved once again to be evil.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*

History

27 Mar 2025, 20:57

Type Values Removed Values Added
CWE NVD-CWE-noinfo
First Time Linux
Linux linux Kernel
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:*
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 5.5
References () https://git.kernel.org/stable/c/624902eab7abcb8731b333ec73f206d38d839cd8 - () https://git.kernel.org/stable/c/624902eab7abcb8731b333ec73f206d38d839cd8 - Patch
References () https://git.kernel.org/stable/c/6673d9f1c2cd984390550dbdf7d5ae07b20abbf8 - () https://git.kernel.org/stable/c/6673d9f1c2cd984390550dbdf7d5ae07b20abbf8 - Patch
References () https://git.kernel.org/stable/c/6f95120f898b40d13fd441225ef511307853c9c2 - () https://git.kernel.org/stable/c/6f95120f898b40d13fd441225ef511307853c9c2 - Patch
References () https://git.kernel.org/stable/c/b609c783c535493aa3fca22c7e40a120370b1ca5 - () https://git.kernel.org/stable/c/b609c783c535493aa3fca22c7e40a120370b1ca5 - Patch
References () https://git.kernel.org/stable/c/b6c620dc43ccb4e802894e54b651cf81495e9598 - () https://git.kernel.org/stable/c/b6c620dc43ccb4e802894e54b651cf81495e9598 - Patch

21 Nov 2024, 09:03

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: mptcp: corrige la reinyección de datos desde un subflujo obsoleto Cuando MPTCP PM detecta que un subflujo está obsoleto, todo el programador de paquetes debe reinyectar todos los datos no codificados del nivel mptcp. Para evitar adquirir bloqueos innecesarios, primero intenta verificar si hay datos no bloqueados presentes en la cola RTX, pero dicha verificación actualmente no funciona, ya que utiliza un asistente específico de TCP en un socket MPTCP. Curiosamente, los fuzzers y los comprobadores estáticos están contentos, ya que la memoria a la que se accede todavía pertenece a la estructura mptcp_sock, e incluso desde una perspectiva funcional la recuperación se completó con éxito, ya que la prueba de acceso directo siempre fallaba. Un cambio reciente de TCP no relacionado (commit d5fed5addb2b ("tcp: reorganizar las variables de ruta rápida de tcp_sock")) expuso el problema, ya que la reorganización del campo tcp hace que el código mptcp siempre omita la reinección. Solucione el problema eliminando la llamada falsa: estamos en un camino lento, la optimización inicial demostró una vez más ser mala.
References () https://git.kernel.org/stable/c/624902eab7abcb8731b333ec73f206d38d839cd8 - () https://git.kernel.org/stable/c/624902eab7abcb8731b333ec73f206d38d839cd8 -
References () https://git.kernel.org/stable/c/6673d9f1c2cd984390550dbdf7d5ae07b20abbf8 - () https://git.kernel.org/stable/c/6673d9f1c2cd984390550dbdf7d5ae07b20abbf8 -
References () https://git.kernel.org/stable/c/6f95120f898b40d13fd441225ef511307853c9c2 - () https://git.kernel.org/stable/c/6f95120f898b40d13fd441225ef511307853c9c2 -
References () https://git.kernel.org/stable/c/b609c783c535493aa3fca22c7e40a120370b1ca5 - () https://git.kernel.org/stable/c/b609c783c535493aa3fca22c7e40a120370b1ca5 -
References () https://git.kernel.org/stable/c/b6c620dc43ccb4e802894e54b651cf81495e9598 - () https://git.kernel.org/stable/c/b6c620dc43ccb4e802894e54b651cf81495e9598 -

17 Apr 2024, 10:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-04-17 10:15

Updated : 2025-03-27 20:57


NVD link : CVE-2024-26826

Mitre link : CVE-2024-26826

CVE.ORG link : CVE-2024-26826


JSON object : View

Products Affected

linux

  • linux_kernel