1 poin oleh GN⁺ 2025-04-01 | 1 komentar | Bagikan ke WhatsApp
  • 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.py yang 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-action dan 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

1 komentar

 
GN⁺ 2025-04-01
Komentar Hacker News
  • Ada pendapat bahwa lebih dari 70% serangan bisa diatasi jika GitHub merilis immutable actions
    • Ada yang berpikir masalah mingguan GitHub akan mendorong mereka untuk merilisnya
  • Tidak ada penjelasan mengapa token sementara memiliki izin untuk membuat deployment baru dan menghasilkan artifact attestation
    • Mereka menonaktifkan debug log untuk mengatasi masalah, tetapi tidak ada jawaban apakah izin token sementara sudah diubah agar lebih sesuai untuk mesin analisis kode
  • Semakin yakin bahwa CI dan CD harus menjadi lingkungan yang sepenuhnya terpisah
    • Kompromi pada CI seharusnya tidak berujung pada kebocoran token yang terkait dengan CD
  • Waktu respons GitHub sangat mengesankan
  • Ada komentar bahwa sebagai orang dengan nama belakang Prater, ia ingin memiliki praetorian.com
  • Menggunakan GitHub Actions publik bisa menimbulkan masalah, dan memakainya tanpa menganalisis prosedur workflow bahkan lebih berbahaya
    • Sebagai gantinya, disarankan untuk self-hosting dengan woodpecker atau CI builder bagus lainnya (circle, travis, gitlab, dll)
  • Disebutkan bahwa mereka menggunakan CodeQL pada PR OpenZFS, dan OpenZFS tidak memiliki masalah
    • Kode OpenZFS bukan rahasia
  • Ada yang penasaran apakah masalahnya sudah benar-benar terselesaikan
  • Ada keluhan bahwa performa situsnya sangat buruk sampai hampir tidak mungkin untuk scroll