flawopen.com/Incidents/openai-community-forum-heif-sso-chain-september-2026
Rantai dari Forum OpenAI ke SSO: CVE-2026-32882
Hacktron melaporkan rantai serangan yang menggabungkan pembacaan di luar batas pada bidang alfa libheif melalui pemrosesan gambar Discourse dengan kelemahan SSO OpenAI yang terpisah. CVE-2026-32882 telah diperbaiki di libheif 1.22.0; para peneliti mengatakan mereka menghentikan pengujian setelah mengirim pull request yang tidak berbahaya untuk membuktikan akses.[4], [1], [2]
Bayangkan dua lembar transparan: satu memiliki baris kotak warna yang lebar, sedangkan satunya memiliki baris nilai transparansi yang lebih sempit. Dekoder memakai panjang baris lembar warna untuk mencari nilai transparansi berikutnya. Setiap baris, pembacaan bergerak semakin jauh melewati lembar yang lebih kecil. Perbaikannya memakai panjang baris milik lembar transparansi itu sendiri.[1]
Konsep Kunci & Istilah
HEIF / HEIC- Format wadah gambar. Berkas HEIF dapat memuat gambar turunan, overlay, serta bidang warna dan alfa yang terpisah; dekoder harus menjaga batas masing-masing bidang.[1]
libheif- Pustaka native untuk mendekode dan mengodekan gambar HEIF dan AVIF. Pemberitahuan Discourse mengaitkan jalur pemrosesan unggahan gambar dengan
CVE-2026-32882.[1], [2] Stride- Jumlah byte antara awal satu baris bidang gambar dan baris berikutnya. Kedalaman bit yang berbeda dapat membuat bidang warna dan alfa memiliki stride berbeda.[1]
CWE-125- Pembacaan di luar batas: perangkat lunak membaca melewati wilayah memori yang dialokasikan untuk buffer. Di sini, alamat bidang alfa dimajukan dengan stride bidang warna.[1]
Batas kepercayaan SSO- Hubungan identitas antara layanan masuk dan aplikasi. Hacktron melaporkan bahwa hubungan SSO forum OpenAI memperluas dampak kompromi forum yang terpisah; laporan publik tidak mengungkap cacat implementasi atau patch SSO yang tepat.[4]
Pemetaan kerangka kerja
- Referensi CWE untuk kelemahan yang dijelaskan dalam panduan ini: CWE-125
Kronologi Insiden
Pemelihara libheif menerbitkan GHSA-hg7q-rjr2-8x46, menetapkan CVE-2026-32882, dan mencantumkan libheif 1.22.0 sebagai versi yang telah diperbaiki.[1]
Hacktron mengatakan para penelitinya mencapai forum OpenAI melalui jalur gambar Discourse, melaporkan masalah SSO di sisi OpenAI, dan menghentikan pengujian setelah pull request tidak berbahaya untuk membuktikan akses.[4]
Discourse menerbitkan GHSA-vhm9-85gw-x335, mencantumkan rilis yang telah diperbaiki, dan menyarankan pembangunan ulang instalasi yang dikelola sendiri.[2]
Hacktron menerbitkan laporan pengungkapan terkoordinasi. Laporan menyebut OpenAI mengonfirmasi perbaikan SSO dan menjelaskan bahwa hadiah mengakui temuan di sisi OpenAI, bukan pengujian pada forum yang dihosting Discourse.[4]
Alur Serangan Langkah demi Langkah
Tata letak bidang warna digunakan untuk alfa
Di HeifPixelImage::overlay(), kode rentan memajukan alpha_p sebesar y * in_stride meskipun alpha_stride telah diperoleh untuk bidang tersebut. Jika kedalaman bit alfa dan warna berbeda, ukuran barisnya berbeda dan pembacaan dapat melewati alokasi alfa. Pemberitahuan upstream mengklasifikasikannya sebagai CWE-125.[1]
Dampak lanjutan bergantung pada jalur host
Pemberitahuan libheif menjelaskan crash atau kemungkinan pengungkapan melalui piksel hasil dekode. Pemberitahuan Discourse yang terpisah menjelaskan eksekusi kode jarak jauh melalui jalur unggahan dan memberi nilai CVSS 8.8 untuk masalah Discourse. Jangan menyamakan dampak dan nilai tingkat produk itu dengan CVSS 7.1 serta pembacaan di luar batas pada CVE itu sendiri.[1], [2]
Kelemahan SSO terpisah memperluas rantai yang dilaporkan
Hacktron mengatakan kompromi forum memungkinkan akses ke akun ChatGPT/Codex karyawan melalui masalah SSO OpenAI, dan pull request yang tidak berbahaya menunjukkan akses ke repositori terhubung. Bukti publik tidak mengungkap cacat kode SSO, izin akun yang tepat, atau perbaikan SSO yang dapat digunakan ulang.[4]
Batasi bukti dan klaim
Hacktron mengatakan pengujian dihentikan setelah pull request untuk membuktikan akses. Laporan tersebut menggambarkan pengungkapan terkendali oleh peneliti, bukan insiden berbahaya atau bukti bahwa data pelanggan diambil. Para peneliti juga menyebut hadiah OpenAI mencakup temuan SSO OpenAI dan tidak mencakup pengujian forum yang dihosting Discourse.[4]
Kode Sumber: Rentan vs Aman
Ini adalah cuplikan terfokus, bukan dekoder mandiri atau salinan kata demi kata dari seluruh patch. Pemberitahuan pemelihara menunjukkan ekspresi rentan dan menyebut masalah telah diperbaiki di libheif 1.22.0. Setiap bidang harus diindeks dengan stride miliknya sendiri; penggunaan ulang stride warna membuat pembacaan alfa melompat terlalu jauh saat kedalaman bit bidang berbeda. Pada aplikasi host, perbarui juga dekoder dan isolasi konversi unggahan yang tidak tepercaya.[1], [3]
// Cuplikan sederhana dari pola akses yang didokumentasikan.
// alpha_stride tersedia, tetapi stride bidang warna yang digunakan.
uint8_t alpha_value = alpha_p[in_x0 + y * in_stride + x];// Gunakan tata letak baris milik bidang alfa.
// Perbaikan upstream tersedia di libheif 1.22.0.
uint8_t alpha_value = alpha_p[in_x0 + y * alpha_stride + x];Daftar Periksa Penguatan Sistem Rekayasa
- ✓Untuk Discourse yang dikelola sendiri, perbarui ke rilis perbaikan dalam GHSA-vhm9-85gw-x335 dan bangun ulang image aplikasi; pembaruan melalui antarmuka web saja tidak membuktikan paket native libheif telah berubah.[2], [4]
- ✓Inventarisasi versi libheif yang benar-benar ada di setiap kontainer pemrosesan gambar dan periksa status backport distribusi; nomor versi upstream saja mungkin tidak menunjukkan status perbaikan paket distribusi.[6], [4]
- ✓Saat mengindeks bidang gambar, gunakan stride dan dimensi milik bidang tersebut. Tambahkan uji regresi untuk bidang alfa dan warna dengan kedalaman bit dan stride berbeda.[1], [3]
- ✓Jalankan konversi unggahan HEIF/AVIF yang tidak tepercaya di worker sementara yang dibatasi, dengan akses sistem berkas minimal, tanpa kredensial bawaan lingkungan, serta batas CPU dan memori.[2]
- ✓Tinjau hubungan kepercayaan SSO secara terpisah dari perbaikan parser: validasi issuer, audience, URI pengalihan, penautan akun, dan pengikatan sesi; cabut sesi jika batas identitas mungkin telah dilanggar.[4]
- ✓Jangan menyatakan implementasi SSO OpenAI atau patch tepatnya sebagai fakta yang diketahui; laporan publik hanya memuat uraian peneliti, bukan cacat atau perbaikan pada tingkat kode.[4]