Penjelasan teknis
Metode doDelete MilvusVectorStore Spring AI rentan terhadap injeksi filter-expression melalui ID dokumen yang tidak disanitasi. Penyerang dapat membuat nilai ID berbahaya yang tertanam langsung ke dalam ekspresi filter Milvus daripada parameterized, memungkinkan logika filter arbitrer untuk dieksekusi selama operasi penghapusan di basis data vektor yang digunakan untuk sistem memori RAG dan agentic AI.
Vektor serangan
Penyerang yang memiliki kemampuan untuk mengontrol ID dokumen yang dilewatkan ke operasi penghapusan MilvusVectorStore dapat menyuntikkan ekspresi filter arbitrer. Karena ID dokumen digabungkan ke dalam string filter daripada dilewatkan sebagai parameter terikat, ID yang dirancang dapat keluar dari konteks filter yang dimaksudkan dan menghapus atau memanipulasi catatan vektor yang tidak dimaksudkan. Ini dapat dieksploitasi secara langsung dalam aplikasi di mana input pengguna atau data eksternal memengaruhi pengenal dokumen yang digunakan dalam operasi vector store.
Sistem yang terdampak
Spring AI 1.0.0 melalui versi 1.0.x terbaru (sebelum 1.0.7) dan Spring AI 1.1.0 melalui versi 1.1.x terbaru (sebelum 1.1.6). Memengaruhi penerapan yang menggunakan Milvus sebagai backend vector store untuk retrieval-augmented generation, agentic memory, atau aplikasi semantic search.
Mitigasi
Tingkatkan Spring AI ke versi 1.0.7 atau lebih baru untuk cabang 1.0.x, atau ke versi 1.1.6 atau lebih baru untuk cabang 1.1.x. Tinjau kode aplikasi untuk memastikan bahwa ID dokumen yang digunakan dalam operasi penghapusan vector store divalidasi dan tidak berasal dari input yang tidak terpercaya tanpa sanitasi. Implementasikan kontrol akses least-privilege pada instans Milvus untuk membatasi radius ledakan jika injeksi filter terjadi.