Summary
A server-side request forgery vulnerability in Loom for AWS allows an authenticated remote user to cause the application to make requests to attacker-selected destinations. Under affected configurations, this may expose the application's container-role credentials and responses from internal network services.
Affected context
The issue occurs in Loom for AWS deployments that support tool server or remote agent connections and accept user-supplied connection addresses. It becomes risky when the application resolves and contacts those addresses without sufficiently restricting destinations, allowing requests to reach cloud metadata services or other internal network locations.
Exploit preconditions
- Attack surface: Tool server and remote agent connection handling
- Required access: An authenticated remote account with permission to register, update, or test a connection
- Trigger point: Processing a crafted connection address during connection registration, modification, or testing
- Why exploitation is possible: The server may initiate outbound requests to attacker-selected internal or external destinations and return resulting responses or credential material
Why this happens
The underlying bug is insufficient validation and destination control for server-side outbound requests. User-influenced connection addresses are treated as trusted network targets, allowing the application to act as a proxy into protected network locations. This maps to CWE-918: Server-Side Request Forgery, where an attacker causes a server to send requests to unintended destinations.
Potential impact
- Credentials associated with the application's container role may be exposed
- Responses from internal network services may be read
- Cloud metadata or management endpoints could be accessed
- Internal service information may be disclosed
- Further compromise could occur if exposed credentials have excessive permissions
General mitigation guidance
Mitigation generally focuses on reducing trust in user-supplied destinations and enforcing outbound network policy.
Common defensive patterns include:
- Allowing connections only to explicitly approved hosts, schemes, and ports
- Blocking cloud metadata endpoints, loopback addresses, link-local ranges, private networks, and other protected destinations
- Resolving hostnames and validating every resulting IP address before connecting
- Revalidating destinations after redirects and preventing protocol or DNS-based bypasses
- Restricting container-role permissions to the minimum required scope
- Using network egress controls, proxy policies, and isolated execution environments
- Avoiding the return of raw internal responses to remote users
These controls reduce the impact of request-routing flaws even when authenticated users can configure connections.
How teams detect issues like this
Detection approaches commonly include:
- Static analysis for HTTP clients that consume user-controlled URLs or hostnames
- Code review checks for missing scheme, port, DNS, redirect, and IP-range validation
- Tests covering loopback, link-local, private, IPv6, encoded, and redirect-based destinations
- Egress monitoring for unexpected access to metadata services and internal address ranges
- Policy enforcement that restricts outbound traffic from application containers
- Audit logging for connection registration, updates, tests, and destination changes
Automated security review tools may help identify request paths where attacker-controlled addresses reach network clients.

