Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book
Podatność w kernelu Linuksa – dowolny użytkownik może uzyskać uprawnienia roota (privilege escalation). Przypadkiem opublikowali exploita, więc pospieszcie się z łataniem.
W opisie podatności CVE-2023-32233 czytamy:
In the Linux kernel through 6.3.1, a use-after-free in Netfilter nf_tables when processing batch requests can be abused to perform arbitrary read and write operations on kernel memory. Unprivileged local users can obtain root privileges. This occurs because anonymous sets are mishandled.
Natomiast w tym miejscu Piotr Krysiuk dodaje, dość niepokojący objaw niefrasobliwości osób, które przygotowywały łatkę… TLDR: ktoś przeforwardował (początkowo ~prywatnego) maila z linkiem do opisu podatności/exploitem na publiczną listę. W związku z tym pełen exploit będzie dostępny już całkiem oficjalnie 15 maja:
The issue has been reproduced against multiple Linux kernel releases, including Linux 6.3.1 (current stable).
We developed an exploit that allows unprivileged local users to start a root shell by abusing the above issue. That exploit was shared privately with to assist with fix development. Somebody from the Linux kernel team then emailed the proposed fix to and that email also included a link to download our description of exploitation techniques and our exploit source code.
Therefore, according to the linux-distros list policy, the exploit must be published within 7 days from this advisory. In order to comply with that policy, I intend to publish both the description of exploitation techniques and also the exploit source code on Monday 15th by email to this list.
Nieco więcej dyskusji m.in. o samym podejściu do łatania tej luki możecie znaleźć tutaj.
~ms
Nie znam się na „linux-distros list policy”. Rozumiem to tak, że źródła wysłane na tą publiczna listę mailingową, są uznawane za open source I muszą zostać oficjalnie udostępnione?
Jak mam rozumieć czego konsekwencją jest „the exploit must be published within 7 days from this advisory”?
Czy starsze kernele 5.x.x sa podatne?
OK, i jak mam załatać system tą łatką: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/patch/?id=c1592a89942e9678f7d9c8030efa777c0d57edab
Ktoś podpowie jak to się robi?
@BoBo jak nie kompilujesz sam kernela to nie za bardzo masz jak zastosować.
Skompiluj sobie jądro
xD
Na debianach do 10 nie działa ;) tam z defaulta kernel.unprivileged_userns_clone=0
Tak jak kolega wyżej podal
Debin do 10 nie zadziała
Czy ja dobrze patrze:
https://security-tracker.debian.org/tracker/CVE-2023-32233
Na to nie ma jeszcze patch’y, przynajmniej ja na debianie 11.7 mam najnowszy kernel 5.10.178-3 czyli wg tej strony podatny.
Hej, dacie link do exploida jak zostanie opublikowany?
> Nie znam się na „linux-distros list policy”. Rozumiem to tak, że źródła wysłane na tą publiczna listę mailingową, są uznawane za open source I muszą zostać oficjalnie udostępnione?
Jak mam rozumieć czego konsekwencją jest „the exploit must be published within 7 days from this advisory”?
O ile dobrze pamietam to wlasnie security@…kernel.org jest (semi-)publiczna. (linux-)distros to jest lista zamknieta, z weryfikacja osob ktore maja dostep, oraz szyfrowaniem GPG.
Tyle ze polityka (linux-)distros mowi o tym, ze jezeli issue jest publiczny (n.p. poprzez commit w publicznym repozytorium, udostepnienie na publicznej liscie mailingowej, albo przez to ze exploit jest dostepny publicznie w internecie), to informacja ktora poszla na (linux-)distros musi pojsc tez na publiczna oss-security. Rozumowanie tutaj jest takie, ze jak cos juz jest publiczne, to lepiej poinformowac wszystkich, niz tylko miantainerow dystrybucji.
Jaki najlepszy sposób na zablokowanie tego? Rozumiem że to działa tylko tam gdzie korzystamy nft ?
defaulta kernel.unprivileged_userns_clone=0
Ubuntu z defaulta ma 1. Po zmianie i restarcie wraca do 1
Trzeba zmienić to w parametrach sysctl:
Rodzina Redhat :
echo „kernel.unprivileged_userns_clone=0” > /etc/sysctl.d/99-disable-kernel-unprivileged-userns-clone.conf
sysctl -p /etc/sysctl.d/99-disable-kernel-unprivileged-userns-clone.conf
Rodzina Ubuntu / Debian :
echo „user.max_user_namespaces=0” > /etc/sysctl.d/99-disable-kernel-unprivileged-userns-clone.conf