← Të gjithë artikujt

WordPress 7.0.4 rregullon të metën në Imagick që lejon autorët të ekzekutojnë kod

WordPress 7.0.4 rregullon të metën në Imagick që lejon autorët të ekzekutojnë kod

WordPress 7.0.4 rregullon një të metë që lejonte një autor të identifikuar të kthente një ngarkim imazhi në dukje të zakonshëm në kod që ekzekutohej në server. Patchstack, kompania e sigurisë që raportoi problemin, publikoi shkrimin e saj më 12 gusht 2026 dhe thotë se problemi prek versionet bazë të WordPress 4.7 deri 7.0. WordPress.org ka publikuar njoftimin e vet për publikimin. Patchstack gjithashtu thotë se ka vendosur një rregull zbutës për faqet e prekura të lidhura me platformën e saj.

WordPress mbështetet në ImageMagick, një paketë e përdorur gjerësisht për përpunimin e imazheve, të cilën e arrit përmes një shtojce PHP të quajtur Imagick, për të ndryshuar madhësinë dhe përpunuar fotot në Bibliotekën e Medias. Problemi është se ImageMagick kupton shumë më tepër sesa imazhet JPEG dhe PNG. Ai mund të hapë gjithashtu skedarë PostScript, EPS dhe PDF, dhe për t'i paraqitur ato formate thërret Ghostscript, një program i veçantë me një histori të gjatë për t'u bindur të ekzekutojë komanda që nuk duhet. Patchstack e vendos këtë në të njëjtën familje problemesh si të metat më të vjetra ImageTragick.

Mospërputhja që krijoi rrezikun zbret në mënyrën se si secila palë vendos se çfarë është një skedar. ImageMagick identifikon një skedar nga përmbajtja e tij, ndërsa WordPress kryesisht i besonte shtesës së emrit të skedarit. Një skedar i quajtur holiday.png që në të vërtetë përmbante PostScript do të kalonte kontrollet e ngarkimit dhe do t'i dorëzohej Imagick, i cili do të njihte PostScript brenda tij dhe do të niste Ghostscript. Fotografia nuk ishte kurrë një fotografi.

Patchstack e gjurmon të metën te metoda load() në WP_Image_Editor_Imagick, pjesa e WordPress që i dorëzon një skedar të ngarkuar bibliotekës së imazheve. Ajo zgjidhte se si ta kalonte skedarin vetëm bazuar në shtesë dhe nuk shikonte kurrë brenda skedarit. Thirrjet readImage() dhe readImageBlob() të përdorura atje inspektojnë bajtët identifikues të skedarit, të ashtuquajturit magic bytes, dhe injorojnë emrin. Përmbajtja që fillon me %!, \x04%!, \xC5\xD0\xD3\xC6 ose \xFFWPC është e mjaftueshme për të zgjedhur trajtimin e PostScript, EPS ose WordPerfect graphics të ImageMagick, dhe prej andej Ghostscript e ekzekuton skedarin si një program PostScript.

Në një ngarkim të zakonshëm, kontrolli wp_check_filetype_and_ext() i WordPress e kap këtë dhe ndalon sulmin. Problemi është se jo çdo rrugë ngarkimi kalon nëpër atë kontroll. Patchstack thotë se metoda wp.uploadFile e XML-RPC dhe rutina që WordPress përdor për të nxjerrë kopertinën nga skedarët MP3 të ngarkuar, të dyja i shkruajnë bajtët e tyre në disk me wp_upload_bits(), një funksion që nuk inspekton kurrë përmbajtjen. Ngarkesa përsëri zbarkon në server dhe përsëri arrin në kodin e cenueshëm.

Rregullimi është një commit i numëruar 7daaa50, i cili ripunon funksionin load() në mënyrë që ai të inspektojë përmbajtjen e skedarit përpara se të ndërtojë objektin Imagick. Asgjë që do të drejtohej te një dekoder i familjes PostScript nuk kalon më tutje.

Konkretisht, kodi i rregulluar nuhat pjesën e parë të çdo skedari dhe refuzon disa kategori. PostScript dhe EPS refuzohen qoftë kur zbulohen nga nënshkrimet e tyre (shënuesi %!, kokat binare EPS ose WordPerfect graphics), qoftë nga shtesa, qoftë nga prefikset e specifikuesit të formatit të ImageMagick. Skedarët që pretendojnë një shtesë PDF por nuk fillojnë me shënuesin e vërtetë %PDF- refuzohen si PDF të rremë. Skedarët e kompresuar që ImageMagick do t'i shpaketojë në heshtje, si arkivat gzip dhe bzip2, refuzohen gjithashtu, pasi ishin një mënyrë tjetër për të kontrabanduar përmbajtje përtej kontrolleve.

Ka një detaj më të hollë. ImageMagick ju lejon të impononi një trajtues të caktuar duke vendosur një prefiks përpara një emri skedari, për shembull EPS:innocent.png. Kodi i ri i heq dhe inspekton ato prefikse, duke u kujdesur të mos pengohet nga shkronjat e njësive të Windows si C:. I njëjti truk mund të arrijë përmes një URL-je në distancë ose një transmetimi, kështu që rregullimi gjithashtu analizon emrat e skedarëve nga ato burime përpara se t'i vërtetojë.

Arritja e kodit të cenueshëm kërkon aftësinë për të ngarkuar media, që do të thotë një llogari e nivelit Autor ose më e lartë. Patchstack është e qartë se ky nuk është një sulm anonim, rastësor. Por pengesa është më e ulët sesa tingëllon në një botim me shumë autorë, një faqe anëtarësie, një faqe klienti me kontribues, ose çdo faqe me regjistrim të hapur ose të menaxhuar lirshëm. Në ato faqe, një autor që ngarkon një imazh me kurth është një kërcënim realist dhe jo teorik. Kur një faqe ka vetëm pronarin e saj dhe një grup të vogël, të kontrolluar mirë redaktorësh, ekspozimi është më i vogël.

Përditësimi. Faqet me përditësime automatike në sfond të aktivizuara mund të jenë tashmë të mbuluara, kështu që një kontroll i shpejtë i versionit ia vlen, dhe kushdo që përditëson manualisht duhet t'i japë përparësi këtij publikimi, veçanërisht kur llogaritë shpërndahen përtej një ekipi bazë. Për pronarët e faqeve që nuk duan t'i ndjekin vetë çdo publikim bazë, AEU Hosting ofron hosting WordPress të menaxhuar, ku ana e platformës e drejtimit të një faqeje WordPress kujdeset për ju.

Patchstack e mbyll me një kujtesë për mënyrën se si trajtohet trajtimi i medias në përgjithësi: pjesa e rrezikshme zakonisht nuk është vetë imazhi, por çdo gjë tjetër që biblioteka e imazheve është e gatshme ta hapë në heshtje.

Disponueshëm edhe në: EnglishDeutschItaliano