ZeroHour

CVE-2026-82180

niche

Certificate Spoofing Authentication Bypass in Eclipse Arrowhead MQTT API

CVSS 4.0
9.5 critical
EPSS
<1%p13
Published
()
Modified
AI analysis

Eclipse Arrowhead's CertificateMqttFilter (versions 5.0.0 through 5.2.1, when the MQTT API runs with the certificate authentication policy) accepts an X.509 certificate supplied inside the MQTT message payload and treats its Subject DN as the authenticated identity without verifying the certificate's signature or validating its chain against a trust store. An attacker who can publish messages to the MQTT broker can therefore mint a self-signed certificate with CN=Sysop.<cloud>.<org>.arrowhead.eu and dnQualifier=op, since the only checks are two string comparisons on attacker-controlled values whose expected contents are publicly known. This grants authentication as the cloud's system operator (isSysOp == true), passing the downstream ManagementServiceMqttFilter and yielding full management access over MQTT. Only deployments that enable the MQTT API with certificate authentication are affected; the HTTP CertificateFilter is not impacted because it uses the certificate from the Tomcat mTLS handshake, which is validated against a trust store. No public proof-of-concept, KEV listing, or in-the-wild exploitation is known, and EPSS puts 30-day exploitation probability at roughly 0.2%.

What to do: Upgrade to an Eclipse Arrowhead release newer than 5.2.1 once a fixed version is published per the Eclipse security advisory ([email protected] CNA). As mitigations, restrict publish access on the MQTT broker with broker-level authentication and ACLs so only trusted clients can publish, or disable the MQTT API / switch its authentication away from the certificate policy until patched. When reviewing deployments, check whether the MQTT API is enabled with certificate authentication and whether the broker is reachable by untrusted clients; the HTTP (mTLS) path does not require action.

Affected
Eclipse Foundation Eclipse Arrowhead (MQTT API with certificate authentication policy enabled)5.0.0 through 5.2.1 inclusive
Estimated exposure
nichelikely hundreds to low thousands of instances (specialized Industry 4.0 middleware; no public install metrics) — Eclipse Arrowhead is a niche open-source service-oriented middleware adopted mainly in European research testbeds and industrial pilot deployments with no public user/install counts, and only the subset of deployments with the MQTT API and…

Order-of-magnitude estimate by the model from install counts, market share and public scan data it knows; verify before quoting.

Description

In Eclipse Arrowhead versions from 5.0.0 to 5.2.1 when the MQTT API is enabled with the certificate authentication policy, CertificateMqttFilter parses an X.509 certificate that the client sends inside the MQTT message payload (the authentication field of MqttRequestTemplate) and treats its Subject DN as the authenticated identity. The certificate is decoded with CertificateFactory.generateCertificate() but its signature is never verified and its issuer chain is never validated against any trust store. Authorisation is reduced to two string comparisons on attacker-supplied data: the DN-qualifier must equal "sy" or "op", and the cloud-name part of the CN must match the server's. Both values are public (the cloud name is in the server's own TLS certificate). An attacker who can publish to the MQTT broker can therefore mint a self-signed certificate with CN=Sysop. . .arrowhead.eu, dnQualifier=op, send it as the authentication field, and be authenticated as the cloud's system operator with isSysOp == true. This passes the downstream ManagementServiceMqttFilter (request.isSysOp() → allowed) and gives full management access over MQTT. The HTTP CertificateFilter is not affected — it reads the certificate from jakarta.servlet.request.X509Certificate, which Tomcat populates only after a successful mTLS handshake against the configured trust store.

Weakness
CWE-290, CWE-295
Vector
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:H/SI:H/SA:H/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

In the news

No ingested article mentions this CVE yet.