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.

10 maja 2023, 15:15 | W biegu | komentarzy 13

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

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. 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”?

    Odpowiedz
  2. Bartek

    Czy starsze kernele 5.x.x sa podatne?

    Odpowiedz
  3. BoBo
    Odpowiedz
    • Adasss

      @BoBo jak nie kompilujesz sam kernela to nie za bardzo masz jak zastosować.

      Odpowiedz
    • EDYTA

      Skompiluj sobie jądro

      Odpowiedz
      • Zoltar

        xD

        Odpowiedz
  4. Piotr knucicel wielki

    Na debianach do 10 nie działa ;) tam z defaulta kernel.unprivileged_userns_clone=0

    Odpowiedz
  5. Tak jak kolega wyżej podal
    Debin do 10 nie zadziała

    Odpowiedz
  6. Marek
    Odpowiedz
  7. Anon

    Hej, dacie link do exploida jak zostanie opublikowany?

    Odpowiedz
  8. p.

    > 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.

    Odpowiedz
  9. Dario

    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

    Odpowiedz
  10. Kamil

    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

    Odpowiedz

Odpowiedz