← Të gjithë artikujt

Përditësimi i PHP për Windows korrigjon një dobësi kritike të code execution në Brotli

Përditësimi i PHP për Windows korrigjon një dobësi kritike të code execution në Brotli

Përditësimi i PHP për Windows për versionet PHP 8.2 deri në 8.5 zëvendëson një kopje të cenueshme të Brotli, një library që kompreson të dhënat, në paketat zyrtare të projektit. PHP thotë se CVE-2026-111497, një identifikues Common Vulnerabilities and Exposures që përdoret për gjurmimin e një dobësie sigurie, mund të shkaktojë memory corruption dhe potencialisht t’i lejojë një sulmuesi të ekzekutojë kod në një sistem të prekur.

PHP thotë se dobësia mund të arrihet përmes cURL, një software library që aplikacionet e përdorin për të bërë kërkesa web, kur kryhet automatic decompression i një HTTP response. HTTP është protokolli që përdoret për shkëmbimin e kërkesave dhe përgjigjeve web. Funksioni automatic decompression i kërkon një server-i në distancë përmbajtje të kompresuar dhe më pas e shpaketon atë përmbajtje për aplikacionin. cURL nuk e aktivizon këtë sjellje si standard, por aplikacionet PHP dhe HTTP client libraries mund ta aktivizojnë.

Në kodin PHP, option CURLOPT_ENCODING aktivizon automatic decompression. Dhënia e një vlere bosh për këtë option i thotë cURL të pranojë çdo format kompresimi që mbështet. Një sulm do të kërkonte një përgjigje të kompresuar, të krijuar posaçërisht, nga një server me të cilin lidhet aplikacioni PHP. Kjo i bën aplikacionet që marrin përmbajtje nga serverë të jashtëm ose ndryshe të pabesueshëm një pjesë të rëndësishme të skenarit të ekspozimit të përshkruar nga PHP.

Guzzle, një PHP library për dërgimin e kërkesave HTTP, e përdor si standard atë vlerë bosh të CURLOPT_ENCODING kur dërgon kërkesa përmes cURL, sipas kodit në releases 7.16.1 dhe 8.3.1. Bazuar në këtë sjellje dhe në shpjegimin e PHP, një aplikacion që përdor cilësimet standard të Guzzle përmbush kushtin për arritjen e dobësisë kur funksionon në paketat e prekura për Windows. The Hacker News tha se nuk e kishte testuar atë rrugë në një sistem Windows.

Paketat e korrigjuara janë PHP 8.5.12-1, 8.4.27-1, 8.3.36-1 dhe 8.2.35-1. Ato u publikuan pesë ditë pas releases të 21 tetorit, të cilat adresuan dy dobësi PHP2Shell të llojit remote code execution. remote code execution do të thotë se një sulmues mund ta bëjë një sistem të cenueshëm të ekzekutojë instruksione. Paketat e rindërtuara ruajnë të njëjtin source code të PHP dhe, rrjedhimisht, i mbajnë ato korrigjime të mëparshme, ndërsa zëvendësojnë library e kompresimit të përfshirë në paketë me Brotli 1.2.1.

Administratorët duhet t’i kushtojnë vëmendje package build, në vend që të mbështeten te paraqitja normale e versionit të PHP. Ekzekutimi i php -v tregon të njëjtin version para dhe pas zëvendësimit, sepse versioni i source code të PHP nuk ndryshoi. Në vend të kësaj, build i ri identifikohet nga -1 në emrin e skedarit, si për shembull php-8.5.12-1-nts-Win32-vs17-x64.zip, dhe nga vlera SHA-256 në faqen e shkarkimeve të PHP. SHA-256 është një gjurmë digjitale që mund të krahasohet me një skedar të shkarkuar për të kontrolluar se është marrë paketa e synuar.

PHP publikon gjithashtu një software bill of materials, një listë të komponentëve të përfshirë brenda çdo pakete. Listat për build-et e mëparshme x64 Non Thread Safe të të katër degëve të mbështetura identifikojnë Brotli 1.2.0, i cili është i prekur. x64 i referohet një build 64-bit, ndërsa Non Thread Safe është një lloj pakete PHP i destinuar për mjedise që nuk kërkojnë mbështetjen e PHP për thread safety.

Vlerësimet e ashpërsisë ndryshojnë sepse përdorin versione të ndryshme të Common Vulnerability Scoring System, ose CVSS. Google i caktoi dobësisë 9.2 nga 10 dhe e klasifikoi si Critical sipas CVSS 4.0. Red Hat e vlerësoi me 8.1 dhe e klasifikoi si Important sipas CVSS 3.1.

Në informacionin e cituar nuk kishte asnjë shfrytëzim të konfirmuar. Studiuesit e Imperva arritën code execution përmes së njëjtës dobësi të Brotli në një build zyrtar të Node.js, megjithëse testi i tyre kërkoi disa përpjekje. Njoftimi i PHP nuk raporton sulme. Një vlerësim i 23 tetorit nga Cybersecurity and Infrastructure Security Agency, ose CISA, nuk regjistroi asnjë shfrytëzim dhe dobësia nuk gjendej në katalogun Known Exploited Vulnerabilities të CISA deri në përditësimin e asaj dite.

Studiuesit e OpenAI e zbuluan dobësinë dhe Google publikoi versionet e korrigjuara Brotli 1.2.1, 1.1.1 dhe 1.0.10 kur ajo u bë publike më 21 tetor. Node.js, Bun dhe software të tjera që përfshijnë kopjen e tyre të Brotli kanë publikuar gjithashtu korrigjime. Për paketat zyrtare të PHP për Windows, PHP rekomandon instalimin e shkarkimeve të rindërtuara.

Njoftimi i PHP nuk ofron asnjë workaround për sistemet që ende nuk mund të përditësohen. OpenAI këshillon çaktivizimin e automatic decompression për Brotli në HTTP clients derisa të instalohet software-i i korrigjuar. Ai paralajmëron gjithashtu se vetëm heqja e br, vlerës Brotli të përdorur në Accept-Encoding request header, nuk e pengon një server të dërgojë një përgjigje të kompresuar me Brotli.

Për aplikacionet PHP që përdorin drejtpërdrejt cURL, ndjekja e kësaj këshille do të thotë të mos vendosin CURLOPT_ENCODING, sepse përndryshe cURL nuk e dekompreson përgjigjen. Me Guzzle, aplikacionet mund ta vendosin decode_content request option në false. Kjo çaktivizon të gjithë automatic response decoding, ndaj edhe përgjigjet e kompresuara me gzip do të mbeten të kompresuara dhe duhet të trajtohen në përputhje me këtë. Pronarët e faqeve web që nuk e administrojnë vetë PHP duhet të pyesin ofruesin e tyre të hosting-ut ose IT nëse janë instaluar paketat e prekura për Windows dhe nëse është aplikuar paketa e rindërtuar. Për organizatat që kanë nevojë për mbështetje të jashtme gjatë shqyrtimit të mjediseve të prekura, AEU-I ofron IT, infrastrukturë dhe konsulencë me sigurinë si përparësi.

Përparësia e menjëhershme është zëvendësimi i build të prekur për Windows dhe verifikimi i paketës së re përmes emrit të skedarit dhe vlerës SHA-256. Kontrollimi vetëm me php -v nuk mjafton, sepse versioni i shfaqur i PHP mbetet i pandryshuar pas këtij security rebuild.

Disponueshëm edhe në: EnglishDeutschItaliano