Scroll untuk baca artikel
Networking

Cacat jsPDF yang kritis memungkinkan peretas mencuri rahasia melalui PDF yang dihasilkan

94
×

Cacat jsPDF yang kritis memungkinkan peretas mencuri rahasia melalui PDF yang dihasilkan

Share this article
cacat-jspdf-yang-kritis-memungkinkan-peretas-mencuri-rahasia-melalui-pdf-yang-dihasilkan
Cacat jsPDF yang kritis memungkinkan peretas mencuri rahasia melalui PDF yang dihasilkan

Cacat jsPDF yang kritis memungkinkan peretas mencuri rahasia melalui PDF yang dihasilkan

Pustaka jsPDF untuk menghasilkan dokumen PDF dalam aplikasi JavaScript rentan terhadap kerentanan kritis yang memungkinkan penyerang mencuri data sensitif dari sistem file lokal dengan memasukkannya ke dalam file yang dihasilkan.

Example 300x600

Cacatnya adalah penyertaan file lokal dan traversal jalur yang memungkinkan lewatnya jalur yang tidak bersih ke mekanisme pemuatan file (loadFile) di versi jsPDF sebelum 4.0. Itu dilacak sebagai CVE-2025-68428 dan menerima skor keparahan 9,2.

Pustaka jsPDF adalah paket yang diadopsi secara luas dengan lebih dari 3,5 juta unduhan mingguan di registri npm.

Ahli

Dalam build Node.js jsPDF, fungsi ‘loadFile’ digunakan untuk membaca sistem file lokal. Masalah muncul ketika masukan yang dikontrol pengguna diteruskan sebagai jalur file, menyebabkan jsPDF memasukkan konten file ke dalam keluaran PDF yang dihasilkan.

Contoh eksploitasi
Contoh eksploitasi
Sumber: Paralaks

Metode pemuatan file lainnya juga terpengaruh, termasuk ‘addImage’, ‘html’, dan ‘addFont’, karena semuanya dapat memanggil fungsi loadFile.

Menurut buletin keamanan jsPDFmasalah ini hanya memengaruhi versi perpustakaan Node.js, yaitu dist/jspdf.node.js Dan dist/jspdf.node.min.js file.

Dalam laporan teknis terperinci, perusahaan keamanan aplikasi Endor Labs mengatakan bahwa risiko eksploitasi rendah atau tidak ada jika jalur file di-hardcode, berasal dari konfigurasi tepercaya, atau daftar izin ketat digunakan untuk input.

CVE-2025-68428 telah diperbaiki di jsPDF versi 4.0.0 dengan membatasi akses sistem file secara default dan mengandalkan mode izin Node.js.

Namun, Endor Labs catatan peneliti bahwa mode ini bersifat eksperimental di Node 20, jadi direkomendasikan versi 22.13.0, 23.5.0, atau 24.0.0 dan yang lebih baru.

Peringatan lain yang perlu dipertimbangkan adalah mengaktifkan tanda ‘–permission’, solusi yang disarankan oleh pengembang, memengaruhi keseluruhan proses Node.js, bukan hanya jsPDF.

Endor Labs juga menggarisbawahi bahwa izin sistem file yang terlalu luas yang ditambahkan ke tanda konfigurasi ‘–allow-fs-read’ meniadakan perbaikan.

Konfigurasi yang terlalu permisif
Konfigurasi yang terlalu permisif
sumber: Endor Labs

Tim jsPDF merekomendasikan agar versi Node yang lebih lama membersihkan jalur yang disediakan pengguna sebelum meneruskannya ke jsPDF.

Mengingat penerapan jsPDF secara luas di banyak proyek, CVE-2025-68428 adalah kandidat yang baik untuk eksploitasi aktif.

Wiz

7 Praktik Terbaik Keamanan untuk MCP

Karena MCP (Model Context Protocol) menjadi standar untuk menghubungkan LLM ke alat dan data, tim keamanan bergerak cepat untuk menjaga keamanan layanan baru ini.

Lembar contekan gratis ini menguraikan 7 praktik terbaik yang dapat Anda mulai gunakan hari ini.