Odebrany

CVE-2026-99282

opublikowano:
modyfikacja:
Ocena CVSS
n/a
Brak oceny

>_ Opis

Tłumaczenie automatyczne – może zawierać nieścisłości.

W jądrze Linuksa usunięto następującą lukę:

net/sched: sch_teql: napraw użycie po zwolnieniu przy dolnym spadku qdisc

Problem: teql_master_xmit() testuje powrót ndo_start_xmit() urządzenia podrzędnego
wartość w porównaniu z samym NETDEV_TX_OK. Niewolnik, który zużywa skb ale
zwraca kod błędu (rc < NET_XMIT_MASK, np. NET_XMIT_DROP) jest traktowany
tak jakby skb nadal był własnością, więc pętla przywraca skb->dev i wywołuje
__skb_pull() na nim. Urządzenie podrzędne VLAN zwraca wynik dev_queue_xmit()
z jego ndo_start_xmit() (propagowanej od cbbef5e18307) i kiedy
dolna qdisc odrzuca pakiet o wartości NET_XMIT_DROP po skb
został zwolniony, dając możliwość użycia po zwolnieniu w teql_master_xmit().

Poprawka: przetestuj zużycie za pomocą dev_xmit_complete(), która akceptuje
NETDEV_TX_OK i każdy rc < NET_XMIT_MASK, pasujący do innych wywołujących
trzeba odróżnić wyniki skonsumowane od zajętych. Zatrzymuje się tylko NETDEV_TX_OK
pakiet liczony w tx_packets/tx_bytes i przesuwa urządzenie podrzędne; a
zużyty wynik, który nie jest ani sukcesem, ani NET_XMIT_CN kończy
próba i jest naliczana opłata tx_dropped, więc spadki przy niższych qdisc już nie są
zgłaszane jako dobre transmisje. NET_XMIT_CN jest liczony jako sukces, ponieważ
może towarzyszyć akceptacji bieżącego pakietu: spada pfifo_head_drop
stara głowa, kolejkuje bieżący skb i zwraca NET_XMIT_CN.

Warunki odtworzenia błędu:
Z CONFIG_NET_SCH_TEQL,
Włączono CONFIG_VLAN_8021Q i CONFIG_DUMMY, dodaj lkrdummy0 (fikcyjny) i
lkrvlan0 (identyfikator VLAN 37 na lkrdummy0); ustaw limit pfifo na 0 root na lkrdummy0
i korzeń teql0 na lkrvlan0; przynieś teql0 z adresem i wyślij go
do niego pakiet UDP. VLAN xmit zwraca NET_XMIT_DROP z niższej wartości
qdisc trzymając uwolniony skb.

>_ Referencje

Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.

This product uses the NVD API but is not endorsed or certified by the NVD.

Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.

CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.

NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org