Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Wykonanie kodu w kernelu Linux przez… wysyłkę pakietu UDP
Wysyłamy nieuwierzytelniony pakiet UDP na Linuksa i mamy wykonanie kodu z uprawnieniami jądra. Wygląda jak koszmar? Otóż mniej więcej tak opisana jest podatność w Linux Kernelach < 4.5:
udp.c in the Linux kernel before 4.5 allows remote attackers to execute arbitrary code via UDP traffic that triggers an unsafe second checksum calculation during execution of a recv system call with the MSG_PEEK flag.
Dość poważnie opisuje to też Google (Android!):
A remote code execution vulnerability in the kernel networking subsystem could enable a remote attacker to execute arbitrary code within the context of the kernel. This issue is rated as Critical due to the possibility of remote code execution in the context of the kernel.
I wśród podatnych systemów wymienia: Nexus 5X, Nexus 6, Nexus 6P, Pixel, Pixel XL, Pixel C, Android One, Nexus Player.
Chyba zresztą zaczęło się od wykrycia błędu podczas analizy bezpieczeństwa Androida – buga zgłosił bowiem Eric Dumazet – jeden z pracowników Google.
Debian łata, RedHat wspomina że akurat RHEL nie jest podatny. Niektórzy też uspokajają, ponieważ wykorzystanie błędu wymaga odbierania pakietów z ponoć rzadko wykorzystywaną flagą MSG_PEEK.
Jak będzie, pewnie okaże się niebawem, choć potencjał na podium w rankingu podatności roku CVE-2016-10229 na pewno ma.
–ms
Nie luka, a backdoor NSA. Nauczcie się poprawnej terminologii. Żaden normalny programista takiego błędu by nie popełnił. Aż dziw że Linus ten kod przepuścił a nie opierdzielił autora „luki”!