Submit #855866: louisho5 picobot 0.2.0 Server-Side Request Forgery (SSRF) (CWE-918)info

Titlelouisho5 picobot 0.2.0 Server-Side Request Forgery (SSRF) (CWE-918)
Description# Technical Details A Server-Side Request Forgery vulnerability exists in the `[WebTool.Execute]` method in `internal/agent/tools/web.go` of picobot. The application fails to restrict model-controlled URLs targeting localhost or internal-network resources. `WebTool.Execute()` accepts the `url` argument, builds an HTTP request, and dispatches it with `http.DefaultClient.Do(req)` without hostname policy, loopback/RFC1918 rejection, redirect revalidation, or DNS pinning. # Vulnerable Code File: `internal/agent/tools/web.go` Method: `WebTool.Execute` Why: The tool is default-enabled in `internal/agent/loop.go` and directly performs outbound HTTP GET requests on provider-returned URLs with no SSRF safeguards. # Reproduction 1. Run the supplied harness and verification script from the Picobot repository root. 2. Have the local provider return a `web` tool call for `http://127.0.0.1:<port>/internal.txt`. 3. Confirm the canary content from `/internal.txt` appears in the tool transcript and the logs show the localhost fetch. # Impact - Allows the agent host to probe and retrieve localhost or private-network HTTP resources. - Leaks internal response bodies into the model/tool transcript.
Source⚠️ https://github.com/louisho5/picobot/issues/41
User
 Eric-h (UID 97582)
Submission06/11/2026 11:27 (1 month ago)
Moderation07/13/2026 23:12 (1 month later)
StatusAccepted
VulDB entry378162 [louisho5 picobot up to 0.2.0 web Tool web.go WebTool.Execute url server-side request forgery]
Points20

Do you need the next level of professionalism?

Upgrade your account now!