/

CVE-2026-111210

Severity:

HIGH RISK

(7.3)

SSRF (CWE-918) in bitcoinj Payment Request Handler Code

CVE-2026-111210

Awaiting Analysis

Vulnerability type

Category:

Server-Side Request Forgery

CWE:

CWE-918

Impact:

Unauthorized Server-Side Network Access

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 bitcoinj's Payment Request Handler allows a remote attacker to influence how the application opens network connections through the payment request processing flow.

When attacker-controlled payment request data reaches the affected connection logic, the server may be induced to send requests to unintended destinations, including internal services or other restricted network locations.

A server-side request forgery vulnerability in bitcoinj's Payment Request Handler allows a remote attacker to influence how the application opens network connections through the payment request processing flow.

When attacker-controlled payment request data reaches the affected connection logic, the server may be induced to send requests to unintended destinations, including internal services or other restricted network locations.

Affected context

The issue occurs in bitcoinj deployments that use the Payment Request Handler and process payment requests containing externally influenced PKI-related parameters. Risk depends on whether untrusted remote payment request data can reach the connection-opening logic and whether the runtime environment can access internal or otherwise restricted network resources.

The issue occurs in bitcoinj deployments that use the Payment Request Handler and process payment requests containing externally influenced PKI-related parameters. Risk depends on whether untrusted remote payment request data can reach the connection-opening logic and whether the runtime environment can access internal or otherwise restricted network resources.

Exploit preconditions

  • Attack surface: The remotely reachable payment request processing functionality
  • Required access: Ability to submit or influence a payment request consumed by the application
  • Trigger point: Processing of the pki_type value in PaymentSession.java before the associated connection is opened
  • Why exploitation is possible: The application may use attacker-influenced request data to determine a server-side network destination without sufficiently restricting or validating the destination
  • Attack surface: The remotely reachable payment request processing functionality
  • Required access: Ability to submit or influence a payment request consumed by the application
  • Trigger point: Processing of the pki_type value in PaymentSession.java before the associated connection is opened
  • Why exploitation is possible: The application may use attacker-influenced request data to determine a server-side network destination without sufficiently restricting or validating the destination

Why this happens

The underlying issue is insufficient validation of externally influenced input used in server-side URL connection handling. When a payment request parameter can affect the destination passed to url.openConnection, the application may perform network requests on behalf of an untrusted party.

This maps to CWE-918: Server-Side Request Forgery, in which server-side network functionality is exposed without adequately constraining permitted schemes, hosts, ports, or network ranges.

The underlying issue is insufficient validation of externally influenced input used in server-side URL connection handling. When a payment request parameter can affect the destination passed to url.openConnection, the application may perform network requests on behalf of an untrusted party.

This maps to CWE-918: Server-Side Request Forgery, in which server-side network functionality is exposed without adequately constraining permitted schemes, hosts, ports, or network ranges.

Potential impact

  • An attacker may cause requests to internal services that are not directly reachable from the Internet.
  • Sensitive metadata, service responses, or credentials may be exposed through application behavior.
  • Internal administrative endpoints could be probed or abused.
  • The vulnerability could enable network-based reconnaissance and contribute to broader service compromise.
  • An attacker may cause requests to internal services that are not directly reachable from the Internet.
  • Sensitive metadata, service responses, or credentials may be exposed through application behavior.
  • Internal administrative endpoints could be probed or abused.
  • The vulnerability could enable network-based reconnaissance and contribute to broader service compromise.

General mitigation guidance

Mitigation generally focuses on reducing trust in payment request fields and enforcing a narrowly defined outbound request policy.

Common defensive patterns include:

  • Allowing only explicitly required URL schemes, hosts, ports, and destinations.
  • Rejecting loopback, link-local, private, multicast, and otherwise restricted network ranges.
  • Resolving and validating destinations before connecting, while accounting for DNS rebinding and redirect behavior.
  • Avoiding unnecessary server-side retrieval of attacker-selected resources.
  • Applying outbound network egress controls and least-privilege service permissions.
  • Treating payment request metadata as untrusted and validating it against a strict schema.

Mitigation generally focuses on reducing trust in payment request fields and enforcing a narrowly defined outbound request policy.

Common defensive patterns include:

  • Allowing only explicitly required URL schemes, hosts, ports, and destinations.
  • Rejecting loopback, link-local, private, multicast, and otherwise restricted network ranges.
  • Resolving and validating destinations before connecting, while accounting for DNS rebinding and redirect behavior.
  • Avoiding unnecessary server-side retrieval of attacker-selected resources.
  • Applying outbound network egress controls and least-privilege service permissions.
  • Treating payment request metadata as untrusted and validating it against a strict schema.

How teams detect issues like this

Organizations can look for SSRF exposure through:

  • Static analysis rules identifying user-controlled values passed to URL, socket, HTTP client, or connection APIs.
  • Code review signals such as unrestricted URL construction, missing host allowlists, and validation performed only before DNS resolution.
  • Dynamic testing with controlled internal endpoints and assertions that restricted address ranges are rejected.
  • Network monitoring for unexpected outbound connections from bitcoinj services to private, loopback, link-local, or cloud metadata addresses.
  • Policy enforcement requiring explicit outbound destination approval for payment-processing components.

Organizations can look for SSRF exposure through:

  • Static analysis rules identifying user-controlled values passed to URL, socket, HTTP client, or connection APIs.
  • Code review signals such as unrestricted URL construction, missing host allowlists, and validation performed only before DNS resolution.
  • Dynamic testing with controlled internal endpoints and assertions that restricted address ranges are rejected.
  • Network monitoring for unexpected outbound connections from bitcoinj services to private, loopback, link-local, or cloud metadata addresses.
  • Policy enforcement requiring explicit outbound destination approval for payment-processing components.

Sources

SourceLink
github.comgithub.com/bitcoinj/bitcoinj/
github.comgithub.com/bitcoinj/bitcoinj/issues/4386
github.comgithub.com/bitcoinj/bitcoinj/security/advisories/GHSA-cqq6-f9cp-chrp
vuldb.comvuldb.com/cve/CVE-2026-111210
vuldb.comvuldb.com/submit/1004847
vuldb.comvuldb.com/vuln/420761
vuldb.comvuldb.com/vuln/420761/cti

Frequently asked

questions

Yes. The reported attack surface is reachable through payment request processing, although practical exploitability depends on whether an attacker can submit data that reaches the affected connection logic.

The attacker generally needs the ability to provide or influence a payment request handled by the vulnerable application. Direct access to the host operating system is not inherently required.

Avoid using untrusted payment request values to select arbitrary network destinations. If outbound retrieval is required, enforce strict destination allowlists, validate resolved addresses, and block restricted network ranges.

Treat all remote request metadata as untrusted, apply SSRF-focused code review and testing, restrict service egress at the network layer, and monitor outbound connections for unexpected internal targets.

Yes. The reported attack surface is reachable through payment request processing, although practical exploitability depends on whether an attacker can submit data that reaches the affected connection logic.

The attacker generally needs the ability to provide or influence a payment request handled by the vulnerable application. Direct access to the host operating system is not inherently required.

Avoid using untrusted payment request values to select arbitrary network destinations. If outbound retrieval is required, enforce strict destination allowlists, validate resolved addresses, and block restricted network ranges.

Treat all remote request metadata as untrusted, apply SSRF-focused code review and testing, restrict service egress at the network layer, and monitor outbound connections for unexpected internal targets.

Find out what's already
exploitable in your codebase.