PHP Rilis Ulang Paket Windows 8.2 sampai 8.5 untuk Menambal Celah Brotli CVE-2026-111497 Lewat Ekstensi cURL

Ilustrasi pembaruan keamanan PHP untuk Windows

Tim PHP mengumumkan pada 26 Oktober bahwa mereka merilis ulang paket Windows untuk PHP 8.2 sampai 8.5. Paket baru ini membawa pustaka Brotli 1.2.1 yang menutup CVE-2026-111497, bug penulisan memori di luar batas pada dekompresi Brotli. Kode sumber PHP tidak berubah, hanya dependensinya yang diperbarui.

Paket mana yang terdampak dan mana yang sudah diperbaiki

Menurut The Hacker News, build Windows x64 Non Thread Safe dari keempat versi yang dirilis pekan lalu memakai Brotli 1.2.0, yang rentan. Paket pengganti bernama PHP 8.5.12-1, 8.4.27-1, 8.3.36-1, dan 8.2.35-1. Akhiran -1 menandai rebuild dengan dependensi baru, jadi keluaran perintah php -v tidak berubah. Untuk memastikan paket Anda sudah baru, periksa nama berkas atau hash SHA-256 di halaman unduhan resmi PHP.

Rebuild ini datang lima hari setelah rilis 21 Oktober yang menutup dua celah PHP2Shell, CVE-2026-109618 dan CVE-2026-109619. Perbaikan itu tetap berlaku di paket baru karena sumbernya sama. Bug Brotli ini sendiri sudah lebih dulu menyebar ke banyak perangkat lunak lain, seperti yang kami tulis di liputan tentang .NET, FFmpeg, ClickHouse, dan Apache Arrow.

Cara bug ini dicapai dari PHP

Pengumuman PHP menyebut dekoder yang rentan bisa dijangkau lewat ekstensi cURL ketika dekompresi otomatis respons HTTP diaktifkan. Fitur itu mati secara bawaan di cURL, tetapi aplikasi dan pustaka klien HTTP bisa menyalakannya. The Hacker News mencatat Guzzle mengaktifkannya secara bawaan untuk permintaan cURL, sehingga aplikasi yang memakai pengaturan standar Guzzle mungkin terpapar. Penyerang membutuhkan server yang dihubungi aplikasi PHP untuk mengirim respons terkompresi yang sudah direkayasa.

Google menilai celah ini 9,2 (kritis) pada CVSS 4.0, sedangkan Red Hat memberi 8,1 pada CVSS 3.1. Menurut laporan tersebut, peneliti OpenAI menemukannya dan Google memperbaikinya di Brotli 1.2.1, 1.1.1, dan 1.0.10. PHP tidak menyebut adanya serangan, dan CISA belum memasukkannya ke katalog celah yang dieksploitasi aktif per 23 Oktober.

Langkah yang perlu Anda ambil

Pengelola server Windows yang menjalankan PHP perlu mengunduh paket berakhiran -1 dari halaman unduhan PHP dan menggantinya. PHP tidak menawarkan solusi sementara. OpenAI menyarankan mematikan dekompresi Brotli otomatis di klien HTTP sampai pembaruan terpasang, misalnya dengan tidak mengaktifkan opsi encoding pada cURL atau menonaktifkan decode_content di Guzzle. Menghapus “br” dari header Accept-Encoding saja tidak cukup, karena server tetap bisa mengirim data Brotli.

Pengguna PHP 8.2 juga perlu merencanakan migrasi, sebab versi itu mencapai akhir masa dukungan pada 31 Desember 2026. Server Linux tidak masuk dalam pengumuman ini, jadi periksa sendiri apakah distribusi Anda sudah membawa Brotli yang diperbaiki.

Sumber: pengumuman resmi PHP dan The Hacker News. Gambar: The Hacker News.