Atacul asupra sistemelor de compilare online prin manipularea fișierelor de antet

Hanno Böck, autorul proiectului fuzzing-project.org, observat asupra vulnerabilității interfețelor de compilare interactive care permit prelucrarea codului extern în limbajul C. Când se specifică o cale arbitrară în directiva „#include”, o eroare de compilare include conținutul unui fișier care nu a putut fi compilat.

De exemplu, înlocuind „#include ” în codul unuia dintre serviciile online, rezultatul a putut obține un hash al parolei utilizatorului root din fișierul /etc/shadow, ceea ce indică, de asemenea, că serviciul web rulează cu drepturi root și rulează comenzile de compilare ca root (este posibil ca un container izolat să fi fost folosit în timpul compilării, dar rularea ca root într-un container este, de asemenea, o problemă). Serviciul problematic în care a fost posibilă reproducerea problemei nu este încă anunțat. Încercările de a deschide fișiere în pseudo FS /proc au eșuat, deoarece GCC le tratează ca fișiere goale, dar deschiderea fișierelor din /sys funcționează.

Sursa: opennet.ru

Adauga un comentariu