Apa yang terjadi
CVE-2026-58579 (CVSS 5.4 Sedang) dipublikasikan ke NVD pada 2 Juli 2026. RAGFlow sebelum 0.26.3 menyimpan nama node DSL pipeline agen tanpa pembersihan HTML. Endpoint update agen menormalkan DSL untuk validitas JSON tetapi menyimpan nama node verbatim. UI hasil dataflow web kemudian menampilkan nama tersebut sebagai HTML mentah, menciptakan kondisi XSS penyimpanan yang dikonfirmasi dalam isu GitHub (infiniflow/ragflow#16507).
Mengapa penting
RAGFlow adalah platform RAG enterprise open-source yang banyak digunakan. XSS penyimpanan dalam UI pipeline agen memungkinkan penyerang dengan akses buat/perbarui pipeline untuk menjalankan JavaScript arbitrer dalam sesi browser pengguna lain — termasuk sesi admin — memungkinkan pembajakan sesi, pencurian kredensial, atau pergerakan lateral lebih lanjut dalam instans RAGFlow. Dalam penyebaran multi-penyewa atau tim, satu penulis pipeline yang dikompromikan dapat mempengaruhi semua pengguna yang melihat hasil agen.
Vektor serangan
Pengguna terautentikasi mengirimkan DSL yang dirancang melalui endpoint update agen (PUT /v1/agents/<agent_id>). Handler normalize_dsl() hanya melakukan validasi struktur JSON dan menyimpan nama node verbatim. Ketika pengguna apa pun melihat halaman hasil dataflow, hooks.ts menampilkan nama node sebagai HTML mentah, menjalankan skrip yang disuntikkan dalam sesi browser mereka.
Sistem yang terdampak
RAGFlow (infiniflow/ragflow) < 0.26.3
Mitigasi
Tingkatkan RAGFlow ke versi 0.26.3 atau lebih baru. Commit patch: https://github.com/infiniflow/ragflow/commit/572f1ea9f4eba6a60e64f7437dee60aa1c0913f1