---
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'
---

## Overview

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-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.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
