Podatność w podsystemie netmem jądra Linux umożliwia przekazanie nieczytelnych pakietów (unreadable skbs) do ścieżki transmisji (TX) urządzenia sieciowego. Może to prowadzić do przekazania nieprawidłowych adresów DMA do interfejsu sieciowego, skutkując poważnymi konsekwencjami dla bezpieczeństwa i stabilności systemu.
▸ Pokaż oryginał (EN)
In the Linux kernel, the following vulnerability has been resolved: netmem: prevent TX of unreadable skbs Currently on stable trees we have support for netmem/devmem RX but not TX. It is not safe to forward/redirect an RX unreadable netmem packet into the device's TX path, as the device may call dma-mapping APIs on dma addrs that should not be passed to it. Fix this by preventing the xmit of unreadable skbs. Tested by configuring tc redirect: sudo tc qdisc add dev eth1 ingress sudo tc filter add dev eth1 ingress protocol ip prio 1 flower ip_proto \ tcp src_ip 192.168.1.12 action mirred egress redirect dev eth1 Before, I see unreadable skbs in the driver's TX path passed to dma mapping APIs. After, I don't see unreadable skbs in the driver's TX path passed to dma mapping APIs.
W jądrze Linux obsługiwana jest funkcjonalność netmem/devmem po stronie odbierania pakietów (RX), ale nie po stronie nadawania (TX). Gdy pakiet odebrany jako nieczytelny netmem zostanie przekierowany lub przesłany dalej (np. za pomocą reguły tc redirect) do ścieżki TX urządzenia, sterownik próbuje wywołać API mapowania DMA na adresach, których nie powinien obsługiwać. Błąd wynika z braku mechanizmu blokującego transmisję takich nieczytelnych pakietów (unreadable skbs) przed ich dotarciem do sterownika TX. Poprawka polega na jawnym zablokowaniu próby xmit pakietów oznaczonych jako nieczytelne.
Atakujący lub błędnie skonfigurowany ruch sieciowy może doprowadzić do przekazania nieprawidłowych adresów DMA do sterownika urządzenia, co grozi ujawnieniem poufnych danych z pamięci, uszkodzeniem integralności systemu lub jego destabilizacją (potencjalny crash/DoS).
Należy zastosować patche dostępne u producenta zgodnie z referencjami (commity: 1c17c8ced25c, 454825019d2f, f3600c867c99 w repozytorium kernel.org stable).
Jądro Linux na gałęziach stable obsługujących netmem/devmem RX — konkretne wersje wskazane w referencjach producenta (commitach w repozytorium kernel.org).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HLinux Kernel
OSLinux6.146.12 – 6.12.20 (bez)6.13 – 6.13.8 (bez)
Powiązane podatności
Type confusion w V8 (Google Chrome) — zdalne uszkodzenie sterty
Commvault Command Center – nieuwierzytelniony RCE przez path traversal w ZIP
RCE przez YAML deserialization w IBM Aspera Faspex
RCE w VMware Workspace ONE Access i Identity Manager poprzez server-side template injection
Command Injection w VMware Workspace One Access i Identity Manager