GitHub baru-baru ini dikabarkan telah memperbaiki kerentanan keamanan dengan tingkat keparahan tinggi yang dilaporkan oleh Google Project Zero lebih dari tiga bulan lalu.
Kerentanan tersebut memengaruhi fitur GitHub Actions – alat otomatisasi alur kerja pengembang – yang menurut peneliti Google Project Zero, Felix Wilhelm “sangat rentan terhadap serangan injeksi”. GitHub Actions mendukung fitur yang disebut perintah alur kerja sebagai saluran komunikasi antara Actions runner dan tindakan yang dijalankan.
Sementara Google menggambarkannya sebagai kerentanan deengan ‘tingkat keparahan tinggi’, GitHub berpendapat bahwa itu adalah ‘kerentanan keamanan sedang’.
Google Project Zero biasanya mengungkap kerentanan apa pun yang ditemukannya dalam waktu 90 hari setelah melaporkannya, dan sebelum 2 November 2020, GitHub telah melampaui masa tenggang Google satu kali selama 14 hari tanpa memperbaiki kerentanan tersebut.
Sehari sebelum batas waktu pengungkapan yang diperpanjang, GitHub memberi tahu Google bahwa mereka tidak akan menonaktifkan perintah yang rentan sebelum 2 November 2020 dan kemudian meminta tambahan 48 jam – bukan untuk memperbaiki masalah, tetapi untuk memberi tahu pelanggan dan menentukan ‘tanggal pasti’ di beberapa titik di masa mendatang. Google kemudian menerbitkan rincian kerentanan 104 hari setelah melaporkan masalah tersebut ke GitHub.
GitHub akhirnya mengatasi masalah ini minggu lalu dengan menonaktifkan perintah runner lawas fitur tersebut, “set-env” dan “add-path”, sesuai saran Wilhelm.
Perbaikan diterapkan pada 16 November 2020, atau dua minggu setelah Wilhelm mengungkapkan masalah tersebut kepada publik.
Baca Juga: “GitHub Peringatkan Adanya Malware Yang Menargetkan Proyek NetBeans“
Seperti yang dicatat Wilhelm dalam laporannya, versi sebelumnya dari perintah runner “set-env” Github Actions menarik dari perspektif keamanan karena dapat digunakan untuk mendefinisikan variabel environment arbitrer sebagai bagian dari langkah alur kerja.
“Masalah besarnya adalah fitur ini sangat rentan terhadap serangan injeksi. Saat proses runner mem-parsing setiap baris yang dicetak ke STDOUT untuk mencari perintah alur kerja, setiap Github Actions yang mencetak konten tidak tepercaya sebagai bagian dari eksekusinya rentan,” tulis Wilhelm.
“Dalam kebanyakan kasus, kemampuan untuk menyetel variabel environment arbitrer menghasilkan remote-code-execution segera setelah alur kerja lain dijalankan.”
Sekarang GitHub telah menonaktifkan dua perintah yang rentan, Wilhelm juga memperbarui laporan masalahnya untuk mengonfirmasi bahwa masalah telah diperbaiki.