Ancaman serangan rantai pasok CodeQL – insiden keamanan yang bermula dari secret GitHub yang terekspos
(praetorian.com)- Karena secret GitHub yang terekspos ke publik, CodeQL, alat analisis statis milik GitHub, terpapar serangan rantai pasok
- Kunci yang bermasalah berlaku selama 1,022 detik, dan dalam waktu tersebut penyerang dapat mengeksekusi kode arbitrer di workflow GitHub Actions
- Kerentanan ini telah terdaftar sebagai CVE publik: CVE-2025-24362
Skenario dampak utama
Melalui kerentanan ini, penyerang dapat melakukan serangan berikut:
- Kebocoran source code dari repositori yang menggunakan CodeQL (pelanggaran kekayaan intelektual)
- Pencurian secret GitHub Actions dan potensi serangan lanjutan
- Eksekusi kode di infrastruktur internal melalui workflow CodeQL
- Pencurian secret bahkan dari workflow yang menggunakan GitHub Actions Cache
Proses deteksi dan eksperimen serangan
- Tim riset Praetorian mengembangkan alat untuk memindai secret yang termasuk dalam artifact workflow yang dihasilkan oleh GitHub Actions
- Menemukan debug artifact yang berisi secret di repositori terkait CodeQL
- Membuat dan menjalankan alat PoC
artifact_racer.pyyang membuktikan bahwa selama kunci tersebut masih valid, penyerang dapat membuat branch/tag dan melakukan push file
Hasil eksperimen utama
- Dengan token tersebut, penyerang dapat:
- membuat branch baru
- melakukan push file
- menambahkan tag
- Secara default CodeQL mereferensikan tag
v3, dan tag tersebut dapat ditimpa oleh penyerang → kode berbahaya dapat didistribusikan ke semua pengguna CodeQL
Potensi penyebaran: mengapa ini berbahaya?
- Sebagian besar pengguna tidak mengatur CodeQL secara manual, melainkan mengklik tombol "Enable CodeQL" di pengaturan repositori GitHub
- Workflow yang dikonfigurasi otomatis pada saat itu mereferensikan repositori
github/codeql-actiondan berbasis tag v3 - Jika penyerang menimpa tag v3 dengan commit berbahaya, kode berbahaya akan dieksekusi otomatis di sangat banyak proyek
Potensi serangan tambahan: cache poisoning
- Workflow CodeQL bawaan menggunakan GitHub Actions Cache
- Melalui ini, penyerang dapat menyuntikkan cache berbahaya ke build pipeline, lalu mencuri secret dan memperoleh akses internal pada workflow berikutnya
- Contoh target yang terdampak:
Respons dan patch dari GitHub
- Setelah kerentanan dilaporkan pada 22 Januari 2025, dalam 3 jam GitHub:
- menghentikan workflow yang rentan
- mengajukan PR untuk mencegah upload secret
- merilis versi patch: CodeQL Action v3.28.3
- Advisory keamanan resmi: GHSA-vqf5-2xx6-9wfm
Langkah mitigasi
- Saat mengunggah artifact dari workflow, batasi file yang menjadi target upload
- Waspadai penyertaan file dalam environment variable,
.git/config, dan direktori_temp/ - Berikan izin baca-saja untuk
GITHUB_TOKEN - Sebelum upload, disarankan melakukan pemindaian secret (menggunakan alat seperti
Nosey Parker)
Kesimpulan
- Bahkan dengan konfigurasi default CodeQL, sangat banyak proyek dapat terpapar serangan rantai pasok
- Kerentanan keamanan di GitHub Actions tetap menjadi ancaman serius, dan diperlukan perhatian berkelanjutan dari komunitas serta strategi pertahanan yang memadai
Informasi terkait
- Informasi CVE: CVE-2025-24362
- Branch PoC: testpoc
- Tautan commit: Commit
- Tautan tag: Tag
1 komentar
Komentar Hacker News