Čitanje proizvoljne varijable kroz Ignition za Laravel


Ignition je defaultni error page za PHP framework Laravel u kojem kritični sigurnosni propust dozvoljava čitanje proizvoljne varijable i time može dovesti do potencijalnog curenja povjerljivih informacija

Laravel je iznimno popularan PHP framework koji je u relativno kratkom roku privukao iznimno visok broj korisnika. Radi se o rješenju otvorenog koda pod MIT licencom čiji je kod dostupan preko GitHuba.
Prošle godine Laravel je usvojio Iginiton, paket otvorenog koda, kao defaultni error page zbog nekih mogućnosti koje su olakšali život svim korisnicima.
 
Baš u Iginitionu, točnije u fixTypo funkciji, Infigov sigurnosni stručnjak Luka Šikić našao je kritični sigurnosni propust koji je dozvoljavao udaljenom, neautenticiranom korisniku da pročita rezultate proizvoljne varijable uključujući $GLOBAL. Kako spomenuta varijabla sadržava varijable cijelog Laravela, tu govorimo o potencijalnom curenju povjerljivih informacija poput korisničkih imena i lozinki, API tokena, CSRF tajnih ključeva i svega ostalog što svijet ne bi trebao vidjeti.
 
Sigurnosni propust je prijavljen i proizvođač je potvrdio postojanje problema. Sve verzije Ignitiona prije 2.0.5 pate od navedenog propusta tako da ako koristite framework, obavezno skinite zadnju verziju. Ukoliko vas zanima, dobiveni CVE možete vidjeti ovdje.