Żądny wiedzy? Wbijaj na Mega Sekurak Hacking Party w maju! -30% z kodem: majearly

NGINX + PHP -> można zdalnie przejąć serwer (bug w PHP). Jest exploit, nie ma oficjalnego update…

23 października 2019, 10:00 | W biegu | komentarze 3
Tagi: ,

Szczegóły podatności można zobaczyć w tym miejscu. Czytamy tutaj:

Such conditions can be achieved in a pretty standard Nginx configuration. If one has Nginx config like this:

```
   location ~ [^/]\.php(/|$) {
        fastcgi_split_path_info ^(.+?\.php)(/.*)$;
        fastcgi_param PATH_INFO       $fastcgi_path_info;
        fastcgi_pass   php:9000;
        ...
  }
}
```

I dalej:

This issue leads to code execution.

(…)

In certain nginx + php-fpm configurations, the bug is possible to trigger from the outside

W cytowanym przez nas wątku pojawia się informacja, że bug ten był do rozwiązania w jednym z CTF, więc informacja o podatności była już dostępna „w środowisku”, stąd też dość mocne naciski autora na jak najszybsze przygotowanie łatki. Łatka została przygotowana, choć oficjalna, nowa wersja PHP ma wyjść „za chwilę”. Autor badania opublikował exploita, więc bądźcie lepiej czujni.

Update: jako wokaround można użyć następującego ustawienia w NGINX: try_files $uri =404 a w części dystrybucji Linuksa (np. Debian) taka konfiguracja jest domyślna.

–ms

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



Komentarze

  1. hawalakakwaha

    Sprawdziłem czy mam w location try_file i dodałem jak by co regułkę:
    if ( $request_uri ~* „%0A|%0D” ) {
    return 403;
    }

    Odpowiedz
  2. adrb

    Podatność *nie* była wcześniej znana, została tylko znaleziona podczas wykonywania zadania CTF a autor sądzi, że inne zespoły też mogły zauważyć problem.

    Tak więc, spokojnie i bez paniki ;]

    Odpowiedz
  3. Arek
    Odpowiedz

Odpowiedz na adrb