In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: use timestamp to check for set element timeout Add a timestamp field at the beginning of the transaction, store it in the nftables per-netns area. Update set backend .insert, .deactivate and sync gc path to use the timestamp, this avoids that an element expires while control plane transaction is still unfinished. .lookup and .update, which are used from packet path, still use the current time to check if the element has expired. And .get path and dump also since this runs lockless under rcu read size lock. Then, there is async gc which also needs to check the current time since it runs asynchronously from a workqueue.
En el kernel de Linux, se resolvió la siguiente vulnerabilidad: netfilter: nf_tables: use la marca de tiempo para verificar el tiempo de espera del elemento establecido. Agregue un campo de marca de tiempo al comienzo de la transacción y guárdelo en el área nftables per-netns. Actualice el conjunto de backend .insert, .deactivate y sincronice la ruta gc para usar la marca de tiempo, esto evita que un elemento caduque mientras la transacción del plano de control aún no ha finalizado. .lookup y .update, que se usan desde la ruta del paquete, aún usan la hora actual para verificar si el elemento ha caducado. Y obtener ruta y volcar también, ya que se ejecuta sin bloqueo bajo el bloqueo de tamaño de lectura de rcu. Luego, está el gc async que también necesita verificar la hora actual, ya que se ejecuta de forma asincrónica desde una cola de trabajo.
CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H
| Attack Vector | LOCAL |
|---|---|
| Attack Complexity | HIGH |
| Privileges Required | LOW |
| User Interaction | NONE |
| Scope | UNCHANGED |
| Confidentiality Impact | HIGH |
| Integrity Impact | HIGH |
| Availability Impact | HIGH |
| Source | Type | Description |
|---|---|---|
| [email protected] | Primary |
en
CWE-416
|
| Vendor | Product | Version | Update | Type |
|---|---|---|---|---|
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd2dbd4f600> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd3412f5540> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd36a71a640> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd3412f5a00> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd3412f4480> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd3412f46c0> | Operating System |
| linux | linux_kernel | * | <built-in method update of dict object at 0x7fd2dbf6ca40> | Operating System |
| linux | linux_kernel | 6.8 | <built-in method update of dict object at 0x7fd3412f5d40> | Operating System |
| linux | linux_kernel | 6.8 | <built-in method update of dict object at 0x7fd3412f6800> | Operating System |
| linux | linux_kernel | 6.8 | <built-in method update of dict object at 0x7fd3412f5580> | Operating System |
| Vulnerable | CPE |
|---|---|
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.8:rc1:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.8:rc2:*:*:*:*:*:* |
| Yes | cpe:2.3:o:linux:linux_kernel:6.8:rc3:*:*:*:*:*:* |