{"id":"CVE-2026-107503","title":"Unvalidated environments URL allows OAuth authorization code + PKCE verifier theft and account takeover via injected OIDC authority in Ditto Explorer in Eclipse Ditto Ditto Explorer [3.6.0,3.9.7] allows a craft link set an attacker-contr…","summary":"Unvalidated environments URL allows OAuth authorization code + PKCE verifier theft and account takeover via injected OIDC authority in Ditto Explorer in Eclipse Ditto Ditto Explorer [3.6.0,3.9.7] allows a craft link set an attacker-contr…","severity":"high","cvss":7.1,"cvssVector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:A/VC:H/VI:L/VA:N/SC:H/SI:H/SA:N","cwe":["CWE-15","CWE-346","CWE-522"],"vendor":"Eclipse Ditto","product":"Ditto Explorer UI","affected":["ditto_explorer_ui >= 3.6.0 <= 3.9.7"],"published":"2026-10-08","updated":"2026-10-08","sourceUpdated":"2026-10-08T10:17:08.457","source":"NVD","sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-107503","references":[{"url":"https://github.com/eclipse-ditto/ditto/security/advisories/GHSA-8767-g5qv-9jcf","label":"emo@eclipse.org"},{"url":"https://gitlab.eclipse.org/security/cve-assignment/-/work_items/380","label":"emo@eclipse.org"},{"url":"https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/1207","label":"emo@eclipse.org"}],"tags":["nvd","cve.org"],"cvssSource":"cna","ingestedAt":"2026-10-08T10:28:25.585Z","ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"partial","timestamp":"2026-10-08T14:24:20.513382Z"},"slug":"CVE-2026-107503","body":"## Overview\n\nUnvalidated environments URL allows OAuth authorization code + PKCE verifier theft and account takeover via injected OIDC authority in Ditto Explorer in Eclipse Ditto Ditto Explorer [3.6.0,3.9.7] allows a craft link set an attacker-controlled OIDC authority with autoSso enabled. The UI then automatically starts a login at the genuine identity provider but exchanges the returned authorization code together with its PKCE code_verifier at an attacker-controlled token endpoint. This lets the attacker redeem the code for the victim's access and refresh tokens. Alternatively, an attacker-controlled api_uri causes the UI to send the victim's bearer token or Basic credentials to the attacker. Because the configuration is persisted, later visits to the UI without the crafted link repeat the token theft.\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":39,"depthScoreParts":{"impact":39.1,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}