/

CVE-2026-16127

Severity:

HIGH RISK

(7.3)

Server-Side Request Forgery (CWE-918) in rt-claw HTTP

CVE-2026-16127

Deferred

Vulnerability type

Category:

Server-Side Request Forgery

CWE:

CWE-918

Impact:

Unauthorized network access via SSRF

Severity:

HIGH RISK

(7.3)

CVSS version:

3.1

Catch this CVE while code is being written

Detect vulnerable code directly in pull requests, so CVEs are fixed before merge.

Summary

A server-side request forgery vulnerability in rt-claw's HTTP request tooling allows an attacker to control the target URL of outbound requests.

When untrusted input is passed into claw_net_get/claw_net_post, the application may issue arbitrary network calls, making internal services and metadata endpoints accessible to a remote attacker.

A server-side request forgery vulnerability in rt-claw's HTTP request tooling allows an attacker to control the target URL of outbound requests.

When untrusted input is passed into claw_net_get/claw_net_post, the application may issue arbitrary network calls, making internal services and metadata endpoints accessible to a remote attacker.

Affected context

This vulnerability occurs in deployments that use the rt-claw HTTP request component (http_request) via claw_net_get and claw_net_post, and allow user-controlled data to influence the url argument.

It manifests most readily when applications pass externally supplied URLs or URL fragments directly into these helper functions without validation.

Environments where the application can reach internal networks, cloud metadata services, or privileged HTTP endpoints are particularly exposed, although the actual risk depends on network topology and access controls.

This vulnerability occurs in deployments that use the rt-claw HTTP request component (http_request) via claw_net_get and claw_net_post, and allow user-controlled data to influence the url argument.

It manifests most readily when applications pass externally supplied URLs or URL fragments directly into these helper functions without validation.

Environments where the application can reach internal networks, cloud metadata services, or privileged HTTP endpoints are particularly exposed, although the actual risk depends on network topology and access controls.

Exploit preconditions

  • Attack surface: Any feature or API path that lets an attacker influence the url parameter provided to claw_net_get/claw_net_post.
  • Required access: Remote interaction with the application (e.g., web API, CLI over network, or integration endpoint) capable of submitting crafted URLs.
  • Trigger point: Execution of an HTTP request using claw_net_get or claw_net_post where the URL is derived from untrusted input.
  • Why exploitation is possible: The library treats the URL as trusted and does not enforce destination restrictions, allowing outbound requests to arbitrary hosts, including internal or sensitive infrastructure.
  • Attack surface: Any feature or API path that lets an attacker influence the url parameter provided to claw_net_get/claw_net_post.
  • Required access: Remote interaction with the application (e.g., web API, CLI over network, or integration endpoint) capable of submitting crafted URLs.
  • Trigger point: Execution of an HTTP request using claw_net_get or claw_net_post where the URL is derived from untrusted input.
  • Why exploitation is possible: The library treats the URL as trusted and does not enforce destination restrictions, allowing outbound requests to arbitrary hosts, including internal or sensitive infrastructure.

Why this happens

The underlying bug class is server-side request forgery, mapped to CWE-918, where an application makes HTTP requests based on untrusted input without proper validation or restriction.

In rt-claw, the claw_net_get and claw_net_post functions appear to accept caller-provided URLs and forward them directly to the HTTP client layer, implicitly trusting them as safe destinations.

Abstractly, this reflects an insecure pattern where a server-side component acts as a proxy for user-chosen targets, lacking allowlists, scheme checks, or network segmentation controls to prevent access to internal resources.

The underlying bug class is server-side request forgery, mapped to CWE-918, where an application makes HTTP requests based on untrusted input without proper validation or restriction.

In rt-claw, the claw_net_get and claw_net_post functions appear to accept caller-provided URLs and forward them directly to the HTTP client layer, implicitly trusting them as safe destinations.

Abstractly, this reflects an insecure pattern where a server-side component acts as a proxy for user-chosen targets, lacking allowlists, scheme checks, or network segmentation controls to prevent access to internal resources.

Potential impact

  • An attacker may force the application to send requests to internal services not directly exposed to the internet.
  • An attacker could access cloud provider metadata endpoints and potentially obtain credentials or configuration secrets.
  • Internal HTTP-based admin panels, management APIs, or debugging endpoints could be reached and interacted with.
  • The application can be used as a pivot point for reconnaissance of internal network infrastructure.
  • Depending on reachable endpoints, further compromise or data exfiltration from backend systems may occur.
  • An attacker may force the application to send requests to internal services not directly exposed to the internet.
  • An attacker could access cloud provider metadata endpoints and potentially obtain credentials or configuration secrets.
  • Internal HTTP-based admin panels, management APIs, or debugging endpoints could be reached and interacted with.
  • The application can be used as a pivot point for reconnaissance of internal network infrastructure.
  • Depending on reachable endpoints, further compromise or data exfiltration from backend systems may occur.

General mitigation guidance

Effective mitigation centers on constraining where server-side HTTP requests are allowed to go and reducing trust in user-supplied URLs.

Defensive patterns typically include:

  • Enforcing strict allowlists of permitted hostnames, IP ranges, and URL schemes for outbound requests.
  • Rejecting or sanitizing user-controlled URLs, especially those pointing to private IP ranges, link-local addresses, or metadata services.
  • Separating internal service-to-service communication from user-driven HTTP proxy functionality and avoiding generic "fetch any URL" features.
  • Applying least-privilege networking, such as denying application containers direct access to sensitive internal segments or metadata endpoints.
  • Designing APIs to accept logical resource identifiers rather than full URLs, resolving them server-side under controlled rules.

Effective mitigation centers on constraining where server-side HTTP requests are allowed to go and reducing trust in user-supplied URLs.

Defensive patterns typically include:

  • Enforcing strict allowlists of permitted hostnames, IP ranges, and URL schemes for outbound requests.
  • Rejecting or sanitizing user-controlled URLs, especially those pointing to private IP ranges, link-local addresses, or metadata services.
  • Separating internal service-to-service communication from user-driven HTTP proxy functionality and avoiding generic "fetch any URL" features.
  • Applying least-privilege networking, such as denying application containers direct access to sensitive internal segments or metadata endpoints.
  • Designing APIs to accept logical resource identifiers rather than full URLs, resolving them server-side under controlled rules.

How teams detect issues like this

Organizations can surface SSRF risks through a mix of code-centric and operational checks:

  • Static analysis rules that flag uses of HTTP client utilities (claw_net_get, claw_net_post, or similar) where the url argument originates from request parameters or other untrusted sources.
  • Code review practices that look for patterns such as "user chooses URL" or "proxy any URL" and question the necessity and safeguards around these flows.
  • Policy-based enforcement in CI pipelines requiring host restrictions or URL validation helpers whenever outbound HTTP calls are implemented.
  • Runtime monitoring of egress traffic to detect anomalous requests to internal IP ranges, metadata endpoints, or unexpected services, potentially combined with alerting and blocking.

Organizations can surface SSRF risks through a mix of code-centric and operational checks:

  • Static analysis rules that flag uses of HTTP client utilities (claw_net_get, claw_net_post, or similar) where the url argument originates from request parameters or other untrusted sources.
  • Code review practices that look for patterns such as "user chooses URL" or "proxy any URL" and question the necessity and safeguards around these flows.
  • Policy-based enforcement in CI pipelines requiring host restrictions or URL validation helpers whenever outbound HTTP calls are implemented.
  • Runtime monitoring of egress traffic to detect anomalous requests to internal IP ranges, metadata endpoints, or unexpected services, potentially combined with alerting and blocking.

Sources

SourceLink
github.comgithub.com/zevorn/rt-claw/
github.comgithub.com/zevorn/rt-claw/issues/139
vuldb.comvuldb.com/cve/CVE-2026-16127
vuldb.comvuldb.com/submit/856872
vuldb.comvuldb.com/vuln/379839
vuldb.comvuldb.com/vuln/379839/cti

Frequently asked

questions

Exploitability depends on whether application features expose URL control to remote users and what internal resources are reachable. In many typical deployments, a remote attacker can leverage it wherever user-provided URLs are passed to the rt-claw HTTP functions.

The attacker generally needs only the ability to interact with an exposed feature or API that ultimately calls claw_net_get or claw_net_post with a user-influenced URL. No local system access is required if such an entry point exists remotely.

The most robust pattern is to avoid accepting arbitrary URLs from users and instead resolve stable, predefined endpoints server-side. Where user-provided URLs are unavoidable, introduce strict host allowlists, scheme checks, and block private/internal address ranges.

Design HTTP utilities and APIs so they never act as open proxies. Require URL validation layers, restrict outbound connectivity by network policy, and embed SSRF-focused checks into code review and automated analysis to catch untrusted URL usage early in development.

Exploitability depends on whether application features expose URL control to remote users and what internal resources are reachable. In many typical deployments, a remote attacker can leverage it wherever user-provided URLs are passed to the rt-claw HTTP functions.

The attacker generally needs only the ability to interact with an exposed feature or API that ultimately calls claw_net_get or claw_net_post with a user-influenced URL. No local system access is required if such an entry point exists remotely.

The most robust pattern is to avoid accepting arbitrary URLs from users and instead resolve stable, predefined endpoints server-side. Where user-provided URLs are unavoidable, introduce strict host allowlists, scheme checks, and block private/internal address ranges.

Design HTTP utilities and APIs so they never act as open proxies. Require URL validation layers, restrict outbound connectivity by network policy, and embed SSRF-focused checks into code review and automated analysis to catch untrusted URL usage early in development.

Find out what's already
exploitable in your codebase.