CVE-2026-66760
Executive Summary
CVE-2026-66760 is an improper client certificate validation vulnerability (CWE-295) in SAP Approuter, the application router component commonly used as an entry point for SAP cloud and enterprise web applications. A low-privileged attacker who possesses a certificate issued by the same trusted authority, with subject values matching a legitimate internal component, can bypass Approuter's identity check in certain callback flows and impersonate that trusted internal component. The vulnerability currently has no vendor patch, carries a CVSS score of 6.4 (Medium) with a high impact on integrity, and no public exploit or in-the-wild campaign has been observed to date.
This record — and 170,000+ others — are available via the ValtersIT API. One endpoint replaces five: NVD + GitHub CVE + CISA KEV + EPSS + Nuclei + Exploit-DB, unified.
No signup required
Technical Analysis
Vulnerability Mechanism
The root cause of CVE-2026-66760 lies in SAP Approuter's failure to correctly validate client certificates within specific callback flows. In a standard mutual TLS (mTLS) architecture, the recipient of a TLS connection validates the presented client certificate in two stages:
- Chain validation — the certificate must chain up to a configured trusted certificate authority (CA).
- Identity validation — the certificate's subject (CN/SAN) must match the expected identity of the calling component (e.g., an internal service, a backend, or an external partner system).
CVE-2026-66760 indicates a deficiency in the second stage, or in the mapping between the certificate and the privileged identity, within callback flows only. The NVD description states that an attacker holding a certificate "from the same trusted authority with matching subject values" can bypass the identity check. This suggests the Approuter logic relies on subject-field comparison as the sole authentication factor in these callback paths, and does not sufficiently assert additional identity attributes, certificate serial, key possession, or binding to a specific registered component. Where the trusted authority has issued a certificate to the attacker under the same subject (for example, during legitimate certificate issuance for a renamed or reprovisioned component), the Approuter treats the attacker's certificate as the legitimate one.
Because this flaw is confined to "certain callback flows," the vulnerable code path differs, for example, from the primary mTLS handshake used for user-facing logins. Callback flows typically involve server-to-server or service-to-service re-authentication, integration with an identity provider, or post-authentication redirects — contexts where a race condition, a cached identity, or a partial validation routine may be used. The NVD description provides insufficient technical detail to name specific functions, URL endpoints, or request parameters involved in the vulnerable callback flow; the analysis above is therefore at the vulnerability-class level.
Attack Surface
- Affected component: SAP Approuter instances deployed at the edge of SAP BTP (Business Technology Platform), SAP Fiori landscapes, and other SAP web application deployments.
- Prerequisite: The attacker requires low privileges (
PR:L) on some part of the landscape, or the ability to obtain a valid client certificate from the same trusted CA with matching subject values. This is non-trivial and drives the high attack complexity (AC:H). - Exposure: The vulnerability is remotely exploitable over the network (
AV:N) without user interaction (UI:N), but only against Approuter instances that use client-certificate-authenticated callback flows. - Affected versions: No exact version range is published. Any Approuter version participating in the affected callback flow should be considered potentially vulnerable.
Exploitation Scenarios
No public PoC or exploit code exists for CVE-2026-66760 at the time of writing. The attack chain below is inferred from the vulnerability class (CWE-295 — Improper Certificate Validation) and the NVD description.
Step 1 — Reconnaissance and Target Identification
The attacker identifies SAP Approuter instances exposed on the network. This can be done by scanning for listening TLS services, inspecting TLS certificate banners, or fingerprinting the Approuter via HTTP response headers and default login pages. The attacker further determines whether the target uses client-certificate authentication for callback or integration flows — for example, by observing TLS server hello messages requesting client certificates, or by reviewing API documentation for the target application.
Step 2 — Obtaining a Matching Certificate
The attacker obtains a client certificate that chains to the same trusted CA as the legitimate internal component and whose subject values match the target component's identity. Realistic acquisition paths include:
- Legitimate enrollment through an internal PKI with overly permissive registration controls.
- Reuse of a previously issued certificate for a retired or renamed internal component.
- PKI/CA misconfiguration that allows CSR subject collision.
- Prior compromise of a low-privilege account that permitted certificate enrollment.
This step is the primary driver of AC:H — the attacker cannot succeed with a self-signed cert or a cert from an untrusted CA.
Step 3 — Triggering the Callback Flow
The attacker presents the malicious certificate during the vulnerable callback flow. At the vulnerability-class level, this means initiating or responding to a callback interaction (for example, re-establishing a TLS connection to a callback endpoint, or completing a token/assertion exchange) where Approuter evaluates the presented client certificate. Due to the improper validation logic, Approuter accepts the attacker's certificate as belonging to the trusted internal component despite the certificate actually being controlled by the attacker.
Step 4 — Post-Exploitation Impact
Once impersonation succeeds, the attacker inherits the trust level of the targeted internal component. Given the high integrity impact (I:H), the attacker can:
- Issue or modify responses, assertions, or configuration data as the impersonated component.
- Manipulate data processed through the Approuter callback path.
- Potentially pivot to other internal components that trust the impersonated identity.
The low confidentiality impact (C:L) and low availability impact (A:L) indicate that the attacker's ability to read sensitive data or disrupt service is limited, but the integrity of business data and inter-component trust decisions is significantly compromised.
Impact Assessment
| Dimension | Rating |
|---|---|
| CVSS Base Score | 6.4 (Medium) |
| Attack Vector | Network (AV:N) — remotely exploitable |
| Attack Complexity | High (AC:H) — requires cert from same CA with matching subject |
| Privileges Required | Low (PR:L) |
| User Interaction | None (UI:N) |
| Scope | Unchanged (S:U) |
| Confidentiality | Low (C:L) |
| Integrity | High (I:H) |
| Availability | Low (A:L) |
Business Impact
For enterprise SAP customers, the Approuter is a critical trust boundary. Successful exploitation of CVE-2026-66760 breaks the identity guarantee that downstream components place on mTLS-authenticated callbacks. Consequences include:
- Integrity of business data: An attacker impersonating a trusted backend could inject or alter data flowing through the callback path (e.g., approvals, master data, configuration payloads).
- Trust chain compromise: Any component that relies on Approuter for caller identity validation may accept malicious requests as legitimate, amplifying the blast radius within the SAP landscape.
- Compliance exposure: In regulated industries (banking, public sector, healthcare), an integrity violation of this kind can trigger audit findings and regulatory reporting obligations.
Affected Systems and Blast Radius
The exact set of vulnerable Approuter versions is unknown. The blast radius is limited to SAP deployments that:
- Expose Approuter to untrusted networks;
- Use client-certificate-based callback flows;
- Trust certificates from a CA that also issues attacker-controllable certificates.
The unpatched status of the CVE significantly elevates the risk: security teams cannot remediate the flaw by applying an update and must instead rely on compensating controls.
Detection Guidance
Detection for CVE-2026-66760 should focus on TLS-level anomalies and application-log inconsistencies: client certificate validation failures immediately followed by successful callback behavior from the same source, or devices presenting more than one distinct client certificate within a short window. Field names in the rules below are generic; adapt them to your environment's actual log schema.
Sigma Rule
title: SUSPICIOUS SAP Approuter Client Certificate Validation Bypass Attempt
id: 8f1c3a2e-6d4b-4f8f-9a1c-2b3d4e5f6a7b
status: experimental
description: Detects SAP Approuter log patterns consistent with client certificate validation failures immediately followed by successful callback processing from the same source IP — potential exploitation of CVE-2026-66760 (CWE-295).
references:
- https://nvd.nist.gov/vuln/detail/CVE-2026-66760
author: Valters IT Threat Intelligence
date: 2026/06/01
logsource:
category: application
product: sap
detection:
selection_failure:
message|contains|all:
- 'client certificate'
- 'invalid'
- 'verification failed'
selection_success:
message|contains|all:
- 'callback'
- 'authenticated'
- 'success'
timeframe: 5m
condition: selection_failure followed by selection_success
level: high
falsepositives:
- Legitimate certificate rotation or renewal during callback reconnects
- Incorrectly configured monitoring that revalidates expired certs
YARA Rule
rule SUSP_SAP_APPROUTER_CERT_BYPASS_LOG
{
meta:
author = "Valters IT Threat Intelligence"
description = "Matches SAP Approuter log or configuration artifacts containing client certificate and callback indicators associated with CVE-2026-66760 exploitation."
reference = "CVE-2026-66760"
cve = "2026-66760"
date = "2026-06-01"
strings:
$s1 = "client certificate" ascii nocase
$s2 = "callback" ascii nocase
$s3 = "certificate validation" ascii nocase
$s4 = "subject" ascii nocase
$s5 = "approuter" ascii nocase
condition:
filesize < 2MB and
uint16(0) != 0x5A4D and // fast check: avoid PE executables
all of ($s1, $s5) and 1 of ($s2, $s3, $s4)
}
Suricata IDS Rule
alert tls any any -> any 443 ( \
msg:"SUSPICIOUS SAP Approuter Multiple Client Certificates from Single Source (CVE-2026-66760)"; \
flow:established; \
tls.subject; \
threshold: type both, track by_src, count 5, seconds 60; \
reference:cve,2026-66760; \
classtype:attempted-user; \
sid:2036601; rev:1;)
alert http any any -> any any ( \
msg:"SUSPICIOUS SAP Approuter Callback Request Following TLS Client Cert Failure (CVE-2026-66760)"; \
flow:established,to_server; \
http.uri; content:"callback"; nocase; \
http.connection; content:"close"; \
metadata:former_category WEB_SERVER; \
reference:cve,2026-66760; \
classtype:attempted-user; \
sid:2036602; rev:1;)
Elastic Detection
sequence by source.ip with maxspan=5m
[ any where
event.category == "tls" and
tls.client.certificate_request == true and
tls.client.subject != null and
message like "*verification failed*" ]
[ network where
http.response.status_code == 200 and
url.path like "*callback*" ]
Splunk SPL Query
index=* sourcetype=*sap* OR sourcetype=*approuter*
("client certificate" OR "certificate validation" OR "certificate verification")
OR ("callback" AND "authenticated")
| transaction src_ip maxspan=5m
| where match(_raw, "(?i)client certificate.*(invalid|failed|verification error)")
AND match(_raw, "(?i)callback.*(success|authenticated)")
| stats count by src_ip, dest_ip, app, _time
| eval alert="Potential CVE-2026-66760 SAP Approuter certificate bypass"
| table _time, src_ip, dest_ip, app, count, alert
Wazuh OSSEC Rule
<group name="sap_approuter,">
<rule id="680001" level="10">
<decoded as="json">event.dataset</decoded>
<field name="event.dataset">approuter</field>
<match>client certificate</match>
<regex>verification failed|validation failed|invalid</regex>
<description>CVE-2026-66760: SAP Approuter client certificate validation anomalous event observed.</description>
<group>sap_approuter,mTLS,authentication_bypass,</group>
<var name="alert.level">10</var>
</rule>
<rule id="680002" level="12">
<if_sid>680001</if_sid>
<field name="event.outcome">success</field>
<field name="source.ip" type="ipv4" ></field>
<match>callback</match>
<description>CVE-2026-66760: SAP Approuter certificate validation failure followed by successful callback — possible identity bypass.</description>
<group>sap_approuter,authentication_bypass,</group>
</rule>
</group>
Mitigation & Patch Guidance
Current Patch Status
Patch confidence: 0/4 — UNPATCHED. No evidence of a vendor fix, SAP Security Note, or patched version exists across any tracked source. Until SAP releases an official remediation, the following measures should be applied.
1. Immediate Mitigations (Compensating Controls)
- Restrict network exposure: Limit access to Approuter callback endpoints to known internal networks, IP allowlists, or VPN boundaries. If callback flows are not strictly required, disable them.
- Harden certificate issuance: Review PKI enrollment policies to prevent an attacker from obtaining a certificate with a subject that collides with an internal component. Enforce unique serials, strict CN/SAN uniqueness, and mandatory approval workflows.
- Posture verification: Run an inventory of all Approuter instances; identify which ones use client-certificate callback flows and prioritize those for monitoring.
- Enable anomalous-traffic monitoring: Activate the Sigma/Elastic/Splunk detections above on Approuter and surrounding TLS-terminating infrastructure.
2. Patch / Upgrade Steps
- No patch, upgrade path, or vendor workaround is currently available (
Workarounds: N/A). - Subscribe to SAP Security Notes and the SAP Support Portal knowledge base; re-evaluate deployment as soon as an official fix is published.
- Retest callback flows after any Approuter upgrade or configuration change using both positive (legitimate cert) and negative (mismatched subject, untrusted CA) test cases.
3. Long-Term Hardening
- Certificate pinning: Where supported, bind trusted internal component identities to specific certificate serial numbers or key hashes rather than only subject fields.
- Multi-factor identity checks: Augment mTLS with additional verification layers (e.g., signed nonces, shared secrets, or API tokens) in callback flows.
- PKI hygiene: Use short-lived certificates, monitor the CA certificate issuance logs, and revoke any certificates issued under suspicious or colliding subjects.
- Microsegmentation: Isolate the Approuter from high-value backend systems so that even a successful impersonation attempt has limited reach.
- Proactive detection program: Regularly review Approuter audit logs for client certificate validation failures followed by successful callbacks, and correlate with PKI issuance logs.
References
- NVD Entry — CVE-2026-66760: https://nvd.nist.gov/vuln/detail/CVE-2026-66760
- CWE-295 — Improper Certificate Validation: https://cwe.mitre.org/data/definitions/295.html
- SAP Security Notes (vendor advisory portal — no note published for this CVE as of this report): https://support.sap.com/en/my-support/knowledge-base/security-notes.html
- SAP Approuter Package (npm): https://www.npmjs.com/package/@sap/approuter
- CISA Known Exploited Vulnerabilities Catalog — CVE-2026-66760 is not listed (KEV: NO): https://www.cisa.gov/known-exploited-vulnerabilities-catalog
Threat actor campaigns / in-the-wild exploitation evidence: None observed at the time of this report. EPSS score is 0.00120 (2.1% percentile), indicating a very low predicted probability of exploitation in the wild; however, the unpatched status warrants continued monitoring.
What is this? Security researchers use these exact search queries on Shodan.io (a search engine for internet-connected devices) to find vulnerable systems globally. You can copy these dorks to see if your organization's IP space is exposed.