Mengambil kawalan ke atas 14 perpustakaan PHP dalam repositori Packagist

Pentadbir repositori pakej Packagist mendedahkan butiran serangan yang mengawal akaun penyelenggara 14 perpustakaan PHP, termasuk pakej popular seperti instantiator (jumlah 526 juta pemasangan, 8 juta pemasangan sebulan, 323 pakej bergantung), sql -formatter (jumlah pemasangan 94J, 800K sebulan, 109 pakej bergantung), doktrin-cache-bundle (jumlah pemasangan 73J, 500K sebulan, 348 pakej bergantung) dan rcode-detector-decoder (jumlah pemasangan 20M , 400 ribu sebulan, 66 pakej bergantung).

Selepas akaun dikompromi, penyerang mengubah suai fail composer.json, menambah pada medan perihalan projek maklumat bahawa dia sedang mencari pekerjaan yang berkaitan dengan keselamatan maklumat. Untuk membuat perubahan pada fail composer.json, penyerang menggantikan URL repositori asal dengan pautan ke garpu yang diubah suai (Packagist hanya menyediakan metadata dengan pautan ke projek yang dibangunkan di GitHub, apabila memasang dengan "pemasangan komposer" atau "kemas kini komposer ” perintah, pakej dimuat turun terus dari GitHub ). Sebagai contoh, untuk pakej acmephp, repositori terpaut telah ditukar daripada acmephp/acmephp kepada neskafe3v1/acmephp.

Nampaknya, serangan itu tidak dilakukan untuk melakukan tindakan berniat jahat, tetapi sebagai demonstrasi ketidakbolehterimaan sikap cuai terhadap penggunaan bukti kelayakan pendua di tapak yang berbeza. Pada masa yang sama, bertentangan dengan amalan "penggodaman beretika", penyerang tidak memberitahu pemaju perpustakaan dan pentadbir repositori terlebih dahulu tentang eksperimen itu. Kemudian, penyerang berkata bahawa selepas dia berjaya mendapatkan pekerjaan, dia akan menerbitkan laporan terperinci mengenai kaedah yang digunakan dalam serangan itu.

Menurut maklumat yang dikeluarkan oleh pentadbir Packagist, semua akaun yang menguruskan pakej yang terjejas menggunakan kata laluan yang mudah dikuasai tanpa mendayakan pengesahan dua faktor. Didakwa bahawa akaun yang digodam menggunakan kata laluan yang digunakan bukan sahaja dalam Packagist, tetapi juga dalam perkhidmatan lain yang pangkalan data kata laluannya sebelum ini dikompromi dan didedahkan kepada umum. Menangkap e-mel pemegang akaun yang terikat dengan domain tamat tempoh juga boleh digunakan sebagai pilihan untuk mendapatkan akses.

Pakej yang terjejas:

  • acmephp/acmephp (124,860 pemasangan sepanjang hayat pakej)
  • acmephp/teras(419,258)
  • acmephp/ssl (531,692)
  • doktrin/doktrin-cache-bundle (73,490,057)
  • modul doktrin/doktrin (5,516,721)
  • doktrin/doktrin-mongo-odm-modul (516,441)
  • doktrin/doktrin-orm-modul (5,103,306)
  • doktrin/instantiator (526,809,061)
  • buku pertumbuhan/buku pertumbuhan (97,568
  • jdorn/file-system-cache (32,660)
  • jdorn/sql-formatter (94,593,846)
  • khanamiryan/qrcode-detector-decoder (20,421,500)
  • object-calisthenics/phpcs-calisthenics-rules (2,196,380)
  • tga/simhash-php, tgalopin/simhashphp (30,555)

Sumber: opennet.ru

Tambah komen