Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/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
Unauthenticated ActivateSession probing gives PR:N, but the adaptive on-path padding-oracle attack needing a captured token and many requests forces AC:H; password recovery yields C:H and credential reuse yields I:H, with no availability impact.
Primary rating from Vendor (eclipse).
CVSS VectorVendor: eclipse
Lifecycle Timeline
3DescriptionCVE.org
In Eclipse Milo versions 0.6.0 through 1.1.4, username-token processing returns distinguishable errors for invalid RSA PKCS#1 v1.5 padding and other authentication failures, allowing an on-path attacker who captures a victim's Basic128Rsa15-encrypted username token to use repeated unauthenticated ActivateSession requests as a padding oracle, recover the victim's password, and authenticate with the recovered credentials.
AnalysisAI
Password recovery in Eclipse Milo (the open-source OPC UA SDK for Java) versions 0.6.0 through 1.1.4 allows an on-path attacker to break username-token confidentiality via a Bleichenbacher-style padding oracle. The server returns distinguishable error responses for invalid RSA PKCS#1 v1.5 padding versus other authentication failures during username-token processing, so an attacker who captures a victim's Basic128Rsa15-encrypted username token can send repeated unauthenticated ActivateSession requests to recover the cleartext password and then authenticate as the victim. No public exploit identified at time of analysis and it is not listed in CISA KEV; the weakness and its upstream fix are confirmed by the Eclipse Foundation.
Technical ContextAI
Eclipse Milo is a widely-used Java implementation of the OPC UA (IEC 62541) industrial automation protocol stack and SDK, providing both client and server components. The flaw lives in AbstractUsernameIdentityValidator, which decrypts and validates the UserNameIdentityToken presented during the ActivateSession service call. When the Basic128Rsa15 security policy is in use, the encrypted password is protected with RSA using PKCS#1 v1.5 padding, a scheme long known to be vulnerable to adaptive chosen-ciphertext (Bleichenbacher) attacks whenever the decrypting party leaks whether padding was well-formed. This maps to CWE-204 (Observable Response Discrepancy): decryption/padding failures surfaced with status codes such as Bad_EncodingLimitsExceeded or Bad_UserAccessDenied, while other failures returned different codes, handing the attacker a decryption oracle. The fix (commit db59fae) collapses all these paths to a single uniform Bad_IdentityTokenInvalid response and strips exception causes, removing the distinguishing signal.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. Upgrade Eclipse Milo to a release that incorporates commit db59fae993a3a1bc66fffc8a2796d444b40285fb, which makes all username-token decryption and authentication failures return an identical Bad_IdentityTokenInvalid status without a distinguishing exception cause; consult the Eclipse advisory at https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/598 for the exact fixed version once published (the affected range ends at 1.1.4). As the most effective compensating control until patched, disable the Basic128Rsa15 security policy on all server endpoints and require modern policies such as Basic256Sha256 or Aes128_Sha256_RsaOaep that use OAEP padding rather than PKCS#1 v1.5 - the trade-off is that legacy clients supporting only Basic128Rsa15 will no longer connect. Additionally restrict network reachability of the OPC UA endpoint to trusted segments to remove the on-path capture and probing capability; note this reduces but does not eliminate risk from a determined on-path adversary. Rotating any passwords that may have been exposed on an untrusted network is also prudent.
More in Eclipse Milo
View allSilent authorization bypass in Eclipse Milo OPC UA server SDK versions 1.0.0-1.1.4 allows anonymous network clients to i
Unauthenticated remote denial-of-service in Eclipse Milo 0.6.0-1.1.4 allows any network-accessible client to exhaust the
Authorization bypass in Eclipse Milo's OPC UA Call service (versions 1.0.0-1.1.4) permits unauthenticated or low-privile
Unauthenticated remote clients can permanently exhaust the global monitored-item quota in Eclipse Milo OPC UA SDK versio
Session security diagnostics nodes in Eclipse Milo 0.6.0 through 1.1.4 expose sensitive OPC UA session metadata without
Same weakness CWE-204 – Observable Response Discrepancy
View allSame technique Information Disclosure
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-52660
GHSA-jrjq-9cmf-3h6f