
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-6605 is a Server-Side Request Forgery (SSRF) vulnerability in modelscope AgentScope, a multi-agent framework for LLM applications. The flaw resides in the _get_bytes_from_web_url() function within src/agentscope/_utils/_common.py, which fetches user-supplied URLs without any validation. All versions up to and including 1.0.18 are affected. The vulnerability was disclosed on April 20, 2026, with a public proof-of-concept published prior to vendor response. It carries a CVSS v3.1 base score of 7.3 (High) and a CVSS v4.0 base score of 6.9 (Medium) (GitHub Advisory, VulDB).
The root cause is CWE-918 (Server-Side Request Forgery): the _get_bytes_from_web_url() function calls requests.get(url) directly on attacker-controlled URLs with no URL validation — no private IP blocking, no scheme restriction, and no hostname allowlisting. This function is invoked from at least 8 locations across formatters (OpenAI, Ollama, Gemini) and realtime models when processing multimodal content blocks (audio, image, video) in Msg objects. Critically, this is a full (non-blind) SSRF: the fetched response content is base64-encoded and returned directly in the HTTP API response, enabling direct data exfiltration. An additional independent vulnerable call exists in _to_openai_audio_data() in src/agentscope/formatter/_openai_formatter.py. The .wav extension check in the OpenAI formatter is trivially bypassed by appending .wav to any target URL path (PoC Gist, GitHub Advisory).
Successful exploitation enables full (non-blind) SSRF, where the complete response body from internal or cloud metadata requests is returned to the attacker base64-encoded in the API response. An attacker can steal cloud IAM credentials (AWS, GCP, Azure) by targeting instance metadata endpoints (e.g., http://169.254.169.254/latest/meta-data/iam/security-credentials/), exfiltrate data from internal APIs and admin panels, and conduct internal network reconnaissance by probing hosts and ports. The wide attack surface — spanning OpenAI, Ollama, and Gemini formatters — means any AgentScope deployment accepting user-supplied multimodal content is affected, with potential for lateral movement into cloud infrastructure (PoC Gist).
A public proof-of-concept was published by researcher YLChen-007 on GitHub Gist prior to vendor response, and the exploit has been released to the public (PoC Gist). The vulnerability requires no authentication, no user interaction, and no special privileges, making it trivially exploitable remotely. The EPSS score is approximately 0.054% (17th percentile), indicating currently low observed exploitation probability. No evidence of active in-the-wild exploitation or threat actor attribution has been reported, and the vulnerability is not listed in the CISA KEV catalog. The vendor did not respond to early disclosure (GitHub Advisory, VulDB).
Msg-compatible JSON payload containing a multimodal content block (audio, image, or video) with a url source pointing to an internal target, such as the AWS metadata endpoint. Append .wav to bypass the extension check in the OpenAI formatter:{
"name": "user",
"role": "user",
"content": [
{"type": "text", "text": "Transcribe this audio"},
{"type": "audio", "source": {
"type": "url",
"url": "http://169.254.169.254/latest/meta-data/iam/security-credentials/role.wav"
}}
]
}requests.get(), base64-encodes the response, and returns it in the API response body.import base64
stolen = base64.b64decode(response_json["formatted_messages"][0]["content"][1]["input_audio"]["data"])
# stolen = '{"AccessKeyId": "AKIAIOSFODNN7EXAMPLE", "SecretAccessKey": "wJalrXU..."}'169.254.169.254, 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) or cloud metadata endpoints; unusual outbound connections to unexpected internal hosts and ports initiated by the AgentScope service.url fields pointing to internal addresses; application logs showing requests.get() calls to non-public URLs from _get_bytes_from_web_url() or _to_openai_audio_data().The GitHub Advisory notes no patched version is currently listed, but Feedly intelligence indicates users should upgrade to a version beyond 1.0.18 once available (GitHub Advisory). As an immediate workaround, implement network-level egress controls to block outbound requests from AgentScope instances to internal IP ranges, cloud metadata endpoints (169.254.169.254), and link-local addresses. Restrict AgentScope deployments from accepting user-supplied multimodal content blocks with arbitrary URL sources until a patch is applied. Monitor for suspicious outbound connections from AgentScope service processes and apply vendor patches as soon as they are released (Feedly).
The vulnerability was reported by researcher YLChen-007, who published a detailed proof-of-concept gist on March 11, 2026, describing the full non-blind SSRF impact including cloud credential theft scenarios. The vendor (modelscope) did not respond to early disclosure, which was noted in the CVE description and GitHub Advisory. The vulnerability received coverage from automated CVE tracking services including RedPacket Security and various CVE aggregators, but no significant broader media or researcher commentary has been identified (GitHub Advisory, PoC Gist).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."