Penjelasan teknis
Metode doDelete MilvusVectorStore Spring AI rentan terhadap injeksi filter-expression melalui document ID yang tidak disanitasi. Penyerang dapat membuat nilai ID yang berbahaya yang tertanam langsung ke dalam ekspresi filter Milvus daripada diparameterisasi, memungkinkan logika filter sewenang-wenang dieksekusi selama operasi delete dalam database vektor yang digunakan untuk sistem memori RAG dan agentic AI.
Vektor serangan
Penyerang dengan kemampuan untuk mengontrol document ID yang diteruskan ke operasi delete MilvusVectorStore dapat menyuntikkan ekspresi filter sewenang-wenang. Karena document ID digabungkan ke dalam string filter daripada diteruskan sebagai parameter terikat, ID yang dirancang dapat keluar dari konteks filter yang dimaksudkan dan menghapus atau memanipulasi catatan vektor yang tidak diinginkan. Ini dapat langsung dieksploitasi dalam aplikasi di mana input pengguna atau data eksternal mempengaruhi pengenal dokumen yang digunakan dalam operasi vector store.
Sistem yang terdampak
Spring AI 1.0.0 melalui 1.0.x terbaru (sebelum 1.0.7) dan Spring AI 1.1.0 melalui 1.1.x terbaru (sebelum 1.1.6). Mempengaruhi deployment 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 besar untuk branch 1.0.x, atau ke versi 1.1.6 atau lebih besar untuk branch 1.1.x. Tinjau kode aplikasi untuk memastikan bahwa document ID yang digunakan dalam operasi vector store delete divalidasi dan tidak berasal dari input yang tidak terpercaya tanpa sanitasi. Implementasikan kontrol akses least-privilege pada instance Milvus untuk membatasi blast radius jika injeksi filter terjadi.