Django App: U lancu ranjivosti, daljinsko izvršavanje proizvoljnog koda moguće

Otkrivena je kritična ranjivost u Django web aplikacijama koja omogućava daljinsko izvršavanje koda, pokazujući kako naizgled bezazlena funkcionalnost učitavanja CSV datoteka može biti iskorišćena za potpunu kompromitaciju servera.

Izvor: Cybersecurity News

**Ključne tačke:**

1. Eksploatacija ranjivosti u Django aplikacijama iskorišćava prolaženje kroz direktorijume zajedno sa zloupotrebom CSV parsera kako bi se serveri kompromitovali putem učitavanja datoteka.
2. Napadači koriste nesanitizovane korisničke unose, poput `../../../../../../app/backend/backend/`, kako bi ciljali `wsgi.py` datoteku u Django aplikacijama.
3. Zlonamjerni Python kod ugrađen u komentare CSV datoteka nadživljava obradu od strane pandas biblioteke i automatski se izvršava kada Django ponovo učita `wsgi.py`.
4. Uspješna eksploatacija omogućava potpuno daljinsko izvršavanje koda na serveru, otvarajući vrata za potencijalnu infiltraciju u infrastrukturu.

Eksploatacija, objavljena 30. juna 2025. godine, kombinuje prolaženje kroz direktorijume sa zloupotrebom pandas CSV parsera kako bi se prepisala `wsgi.py` datoteka u Django aplikacijama i postiglo proizvoljno izvršavanje koda.

**Daljinsko izvršavanje koda u Django aplikacijama putem učitavanja CSV datoteka**

Tokom angažmana u okviru programa za lov na greške (bug bounty), sigurnosni istraživač Jineesh AK otkrio je ranjivost u jednoj Django aplikaciji koja korisnicima omogućava predaju CSV datoteka na obradu. Aplikacija je koristila pandas biblioteku za parsiranje učitanih CSV datoteka i spremanje obrađenih rezultata na disk, oslanjajući se na korisnički kontrolisane unose.

Ključni nedostatak proizašao je iz povjerenja aplikacije u korisničke podatke bez odgovarajuće sanitizacije. Ugroženi dio koda demonstrira kako je parametar korisničkog imena bio direktno uključen u putanje do datotečnog sistema.

Ovaj dizajn je napadačima omogućio manipulaciju lokacijom pisanja datoteka koristeći sekvence za prolaženje kroz direktorijume poput `../../../../../../app/backend/backend/`, čime su efektivno zaobišli predviđene kontrole pristupa i ciljali osjetljive sistemske datoteke.

Tehnika eksploatacije koju je koristio istraživač uključivala je kreiranje zlonamjernog CSV payload-a koji bi preživio ciklus obrade `read_csv()` i `to_csv()` funkcija pandas biblioteke, a istovremeno bi ostao validan Python kod. Ključna inovacija bila je ugrađivanje zlonamjernog payload-a unutar Python komentara, čime je osigurano da dodatni zarezi i formatiranja uvedeni od strane pandas biblioteke budu ignorisani od strane Python interpretera.

Meta datoteka, `wsgi.py`, strateški je odabrana jer Django razvojni server automatski ponovo učitava ovu Web Server Gateway Interface datoteku kada se ona modifikuje, što pokreće trenutno izvršavanje koda bez potrebe za ručnom intervencijom.

Ova ranjivost ilustruje opasan potencijal kombinovanja više naizgled manjih sigurnosnih nedostataka u kritične eksploatacije. Vektor napada naglašava nekoliko zabrinjavajućih praksi: nesanitizovani korisnički unosi u operacijama sa datotečnim sistemom, nesigurna obrada datoteka sa bibliotekama trećih strana i Django-ovo automatsko ponovno učitavanje u razvojnim okruženjima.

Eksploatacija daje napadačima potpune mogućnosti izvršavanja koda na strani servera, potencijalno vodeći do krađe podataka, kompromitacije sistema i bočnog kretanja unutar ciljane infrastrukture. Organizacije koje koriste Django aplikacije sa funkcionalnošću učitavanja datoteka trebale bi odmah revidirati svoj kod na slične obrasce, implementirati odgovarajuću validaciju unosa i razmotriti sandboxing operacija obrade datoteka kako bi spriječile ovakve lance eksploatacije.

Recent Articles

spot_img

Related Stories