Detajet e dobësive kritike në PHP janë zbuluar dhe janë publikuar përditësime korrigjuese

Shtë publikuar versioni korrektues PHP 8.5.12, 8.4.27, 8.3.36 dhe 8.2.35, si dhe patch-et për degët e PHP 7.4, PHP 8.0 dhe PHP 8.1 që nuk mbahen më (versionet e ndjeshme nga 5.4 deri në 7.3 mbeten pa patch-e), në të cilat janë korrigjuar dy vulnerabilitete kritike:

  • CVE-2026-109618 – ekzekutimi i kodit nĂ« distancĂ«, i shkaktuar nga fakti se gjatĂ« shterimit tĂ« memories sĂ« mbĂ«shtetur pĂ«r procesin, menaxheri i memorie pĂ«r mungesĂ« memory, pĂ«rmes ekzekutimit tĂ« funksionit longjmp(), mund ta ndĂ«rpresĂ« interpretuesin PHP nĂ« njĂ« gjendje ku janĂ« inicializuar vetĂ«m disa struktura tĂ« brendshme qĂ« lidhen me pĂ«rpunimin e kĂ«rkesĂ«s. NĂ« vazhdim, funksioni i pĂ«rfundimit tĂ« pĂ«rpunimit tĂ« kĂ«rkesĂ«s referohet kĂ«tyre strukturave si tĂ« inicializuara, megjithĂ«se memoria pĂ«r to nuk Ă«shtĂ« alokuar.

    Vektori kryesor i sulmit është manipulimi me kërkesat multipart për të krijuar kushte për shterimin e memories së mbështetur për procesin. Për të anashkaluar limitin post_max_size mund të mos tregohet header-i Content-Length dhe të dërgohet një numër i madh HTTP-heardesh. Mund të zhvillohen edhe sulme të sakta ndaj operacioneve të caktuara në aplikacionet php, të cilat shpenzojnë pa masë memory. Prania e një eksploitimi është konfirmuar për mod_php, pasi ai e thërras funksionin shutdown() edhe në rast dështimi. PHP-FPM në rast dështimi ndalon procesin fëmijë, duke e bërë të vështirë zhvillimin e sulmit, por teorikisht nuk e përjashton atë.

  • CVE-2026-109619 – ekzekutimi i kodit nĂ« distancĂ«, i shkaktuar nga qasja nĂ« memory pas lirimit tĂ« saj pĂ«r shkak tĂ« pastrimit tĂ« papĂ«rshtatshĂ«m tĂ« gjendjes globale qĂ« i Ă«shtĂ« lidhur kĂ«rkesĂ«s specifike. NĂ« rastin e ndĂ«rprerjes sĂ« kĂ«rkesĂ«s pĂ«r shkak tĂ« njĂ« gabimi fatal, njĂ« skadence ose mungesĂ« memory, gjendja globale mund tĂ« mbetet e pa riluajtur dhe treguesit mund tĂ« mbeten aktivĂ«, megjithĂ«se memoria pĂ«r tĂ« cilĂ«n ato i referohen Ă«shtĂ« liruar. GjatĂ« pĂ«rpunimit tĂ« kĂ«rkesĂ«s sĂ« ardhshme nĂ« tĂ« njĂ«jtin proces mund tĂ« ndodhĂ« referimi me treguesin e mbetur nĂ« gjendjen globale tĂ« vjetĂ«r.

    Për funksionim, mund të përdoret krijimi i kushteve për shterrjen e memories së disponueshme gjatë përpunimit të kërkesave multipart në kod për të treguar progresin e ngarkesës (session.upload_progress). Në këtë rast, si një vektor sulmi kryesor dhe të konfirmuar përmendet menaxhuesi fatal_error_backtraces në PHP 8.5, i cili nuk reseton gjendjen e gjurmimit kur përfundon. Në rastin e parë, sulmi është i mundur në mod_php dhe PHP-FPM, ndërsa në të dytin vetëm në mod_php. Gjithashtu, përmendet një mundësi e papritur për të kryer sulmin në konfigurimet, në cilat janë direktivat që çojnë në shfaqjen e paralajmërrimeve në një fazë të hershme të përpunimit të kërkesës (për shembull, paralajmërimet për përdorimin e parametrave të shkëputura).

Pretendohet se bllokimi i plotë i vulnerabiliteteve është i mundur vetëm përmes instalimit të përditësimeve. Masat e mëposhtme lejojnë të reduktojnë probabilitetin e suksesit të sulmeve, por nuk e bëjnë sistemin plotësisht të sigurt:

  • Caktimi i parametrave nĂ« php.ini ‘memory_limit=-1’, qĂ« e bĂ«n tĂ« vĂ«shtirĂ« kontrollin e shterrjes sĂ« kufijve tĂ« memories nga sulmuesi.
  • Caktimi i parametrave ‘post_max_size = 8M’, nĂ«se nuk ka nevojĂ« pĂ«r ngarkimin e skedarĂ«ve tĂ« mĂ«dhenj. Vlera e parametrave ‘upload_max_filesize’ duhet tĂ« jetĂ« mĂ« e vogĂ«l se parametri ‘post_max_size’.
  • Caktimi i kufizimeve pĂ«r konsumimin e memories nĂ« nivelin sistemor, pĂ«rmes cgroup memory.max ose parametrave tĂ« konsumit tĂ« memories nga kontejneri, por jo pĂ«rmes kufijve sistemorĂ« RLIMIT_AS dhe RLIMIT_DATA, tĂ« cilat vetĂ«m nxisin thirrjen problematike longjmp().
  • NĂ«se performanca nuk Ă«shtĂ« e rĂ«ndĂ«sishme, mund tĂ« kufizohet numri i kĂ«rkesave tĂ« pĂ«rpunuara nga njĂ« proces punĂ« me pm.max_requests=1 nĂ« PHP-FPM dhe MaxRequestsPerChild nĂ« Apache httpd.
  • Caktimi nĂ« nivelin php.ini ose konfigurimit serverĂ« (jo pĂ«rmes ini_set() ose FPM .user.ini, pasi parametri duhet tĂ« veprojĂ« para fillimit tĂ« pĂ«rpunimit tĂ« kĂ«rkesĂ«s) tĂ« parametrave ‘session.upload_progress.enabled=0.
  • Kur pĂ«rdorni versionin PHP 8.5, duhet tĂ« caktoni parametrin ‘fatal_error_backtraces=0’.
  • Eliminimi i ndĂ«rlikimeve tĂ« ndĂ«rlidhura me kĂ«rkesa tĂ« veçanta prej opsioneve tĂ« shkĂ«putura ose gabim, qĂ« çojnĂ« nĂ« shfaqjen e mesazheve diagnostike para inicializimit.
  • Eliminimi nĂ« kodin PHP tĂ« situatave qĂ« çojnĂ« nĂ« tejkalimin e kohĂ«ve tĂ« pritjes dhe gabimeve fatale, pĂ«r shembull, tĂ« lidhura me dĂ«shtimet nĂ« menaxhuesit e callback dhe pĂ«rpunimin e ngarkesave.
  • PĂ«r tĂ« bllokuar vulnerabilitetin e parĂ« nĂ« kodin e versioneve tĂ« vjetra tĂ« PHP, mund tĂ« zĂ«vendĂ«soni thirrjen e longjmp() nĂ« trajtuesin e shkarkimit tĂ« memories me _exit().
  • PĂ«r mĂ« tepĂ«r, mund tĂ« ulni vlerĂ«n e parametrave max_input_nesting_level nĂ« php.ini dhe tĂ« bllokoni kĂ«rkesat multipart, siç u demonstrua nĂ« njoftimin paraprak.

Statusi i zgjidhjes së vulnerabiliteteve në distributivët mund të vlerësohet në këto faqe: Debian, Ubuntu, SUSE, RHEL, Gentoo, Arch,
Fedora, FreeBSD.

ShtesĂ« 1: Vulnerabilitetet u zbuluan me ndihmĂ«n e modeleve tĂ« AI GPT‑5.6 dhe Gemini 4 Argon. Kompania OpenAI publikoi njĂ« mjet php2shell-checker pĂ«r tĂ« kontrolluar nĂ«se faqet dhe skedarĂ«t ekzekutues lokalĂ« janĂ« tĂ« ekspozuar ndaj vulnerabiliteteve, por ky mjet kontrollon vetĂ«m numrin e versionit PHP qĂ« kthehet nga serveri HTTP ose komanda "php -v", pa analizĂ« tĂ« detajuar.

Shtesë 2: Autori i prototipit të eksploitatit që përdor vulnerabilitetin e shkaktuar nga çlirimi i dyfishtë i memories (double-free) njoftoi se problemi mbetet i pa rregulluar në versionin PHP 8.5.12 dhe eksploiti vazhdon të funksionojë. Më parë, përfaqësuesit e PHP thanë se ky vulnerabilitet nuk është i lidhur me riparimet e përgatitura dhe nuk është një problem real. Megjithatë, autori i eksploitatit pretendoi se ky është një vulnerabilitet krejtësisht ndryshe.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster