CVE-2024-47659

In the Linux kernel, the following vulnerability has been resolved: smack: tcp: ipv4, fix incorrect labeling Currently, Smack mirrors the label of incoming tcp/ipv4 connections: when a label 'foo' connects to a label 'bar' with tcp/ipv4, 'foo' always gets 'foo' in returned ipv4 packets. So, 1) returned packets are incorrectly labeled ('foo' instead of 'bar') 2) 'bar' can write to 'foo' without being authorized to write. Here is a scenario how to see this: * Take two machines, let's call them C and S, with active Smack in the default state (no settings, no rules, no labeled hosts, only builtin labels) * At S, add Smack rule 'foo bar w' (labels 'foo' and 'bar' are instantiated at S at this moment) * At S, at label 'bar', launch a program that listens for incoming tcp/ipv4 connections * From C, at label 'foo', connect to the listener at S. (label 'foo' is instantiated at C at this moment) Connection succeedes and works. * Send some data in both directions. * Collect network traffic of this connection. All packets in both directions are labeled with the CIPSO of the label 'foo'. Hence, label 'bar' writes to 'foo' without being authorized, and even without ever being known at C. If anybody cares: exactly the same happens with DCCP. This behavior 1st manifested in release 2.6.29.4 (see Fixes below) and it looks unintentional. At least, no explanation was provided. I changed returned packes label into the 'bar', to bring it into line with the Smack documentation claims.
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:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

History

23 Oct 2024, 16:29

Type Values Removed Values Added
References () https://git.kernel.org/stable/c/0776bcf9cb6de46fdd94d10118de1cf9b05f83b9 - () https://git.kernel.org/stable/c/0776bcf9cb6de46fdd94d10118de1cf9b05f83b9 - Patch
References () https://git.kernel.org/stable/c/0aea09e82eafa50a373fc8a4b84c1d4734751e2c - () https://git.kernel.org/stable/c/0aea09e82eafa50a373fc8a4b84c1d4734751e2c - Patch
References () https://git.kernel.org/stable/c/2fe209d0ad2e2729f7e22b9b31a86cc3ff0db550 - () https://git.kernel.org/stable/c/2fe209d0ad2e2729f7e22b9b31a86cc3ff0db550 - Patch
References () https://git.kernel.org/stable/c/4be9fd15c3c88775bdf6fa37acabe6de85beebff - () https://git.kernel.org/stable/c/4be9fd15c3c88775bdf6fa37acabe6de85beebff - Patch
References () https://git.kernel.org/stable/c/5b4b304f196c070342e32a4752e1fa2e22fc0671 - () https://git.kernel.org/stable/c/5b4b304f196c070342e32a4752e1fa2e22fc0671 - Patch
References () https://git.kernel.org/stable/c/a948ec993541db4ef392b555c37a1186f4d61670 - () https://git.kernel.org/stable/c/a948ec993541db4ef392b555c37a1186f4d61670 - Patch
References () https://git.kernel.org/stable/c/d3703fa94116fed91f64c7d1c7d284fb4369070f - () https://git.kernel.org/stable/c/d3703fa94116fed91f64c7d1c7d284fb4369070f - Patch
References () https://git.kernel.org/stable/c/d3f56c653c65f170b172d3c23120bc64ada645d8 - () https://git.kernel.org/stable/c/d3f56c653c65f170b172d3c23120bc64ada645d8 - Patch
CWE NVD-CWE-noinfo
CVSS v2 : unknown
v3 : unknown
v2 : unknown
v3 : 8.8
First Time Linux linux Kernel
Linux
CPE cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*

10 Oct 2024, 12:51

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad: smack: tcp: ipv4, corregir etiquetado incorrecto Actualmente, Smack refleja la etiqueta de las conexiones entrantes tcp/ipv4: cuando una etiqueta 'foo' se conecta a una etiqueta 'bar' con tcp/ipv4, 'foo' siempre obtiene 'foo' en los paquetes ipv4 devueltos. Por lo tanto, 1) los paquetes devueltos están etiquetados incorrectamente ('foo' en lugar de 'bar') 2) 'bar' puede escribir en 'foo' sin estar autorizado para escribir. Aquí hay un escenario para ver esto: * Tome dos máquinas, llamémoslas C y S, con Smack activo en el estado predeterminado (sin configuraciones, sin reglas, sin hosts etiquetados, solo etiquetas incorporadas) * En S, agregue la regla de Smack 'foo bar w' (las etiquetas 'foo' y 'bar' están instanciadas en S en este momento) * En S, en la etiqueta 'bar', inicie un programa que escuche conexiones entrantes tcp/ipv4 * Desde C, en la etiqueta 'foo', conéctese al oyente en S. (la etiqueta 'foo' está instanciada en C en este momento) La conexión es exitosa y funciona. * Envíe algunos datos en ambas direcciones. * Recolecte tráfico de red de esta conexión. Todos los paquetes en ambas direcciones están etiquetados con el CIPSO de la etiqueta 'foo'. Por lo tanto, la etiqueta 'bar' escribe en 'foo' sin estar autorizada, e incluso sin ser conocida en C. Si a alguien le importa: exactamente lo mismo sucede con DCCP. Este comportamiento se manifestó por primera vez en la versión 2.6.29.4 (ver Correcciones a continuación) y parece no ser intencional. Al menos, no se proporcionó ninguna explicación. Cambié la etiqueta de los paquetes devueltos por "barra" para que coincida con lo que afirma la documentación de Smack.

09 Oct 2024, 14:15

Type Values Removed Values Added
New CVE

Information

Published : 2024-10-09 14:15

Updated : 2024-10-23 16:29


NVD link : CVE-2024-47659

Mitre link : CVE-2024-47659

CVE.ORG link : CVE-2024-47659


JSON object : View

Products Affected

linux

  • linux_kernel