High severity · published Oct 5, 2026
CVE-2026-86671
In Eclipse Che versions 7.29.0 and later, the GET `/api/scm/resolve` and `POST /api/factory/resolver` endpoints pass an attacker-controlled URL to `URLFetcher.fetch()`, which…
8.4
CVSS
0.3%
EPSS
No
On KEV
Description
In Eclipse Che versions 7.29.0 and later, the GET `/api/scm/resolve` and `POST /api/factory/resolver` endpoints pass an attacker-controlled URL to `URLFetcher.fetch()`, which calls `new URL(url).openConnection()` with no scheme or host allow-list and returns the response body to the caller. Any authenticated Che user can read arbitrary local files via the file:// scheme (including the pod's Kubernetes service-account token at `file:///var/run/secrets/kubernetes.io/serviceaccount/token`), reach internal HTTP services and cloud instance metadata endpoints (169.254.169.254), and have their stored SCM personal access token attached as an `Authorization` header to a host of their choosing. The same credential-forwarding behavior also fires when a victim opens a workspace from a malicious devfile whose `parent.uri` points to an attacker-controlled server, enabling exfiltration of the victim's SCM PAT without direct API access. No fix is available.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.3% · higher than 17% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
EC
Eclipse Che · Eclipse Foundation
7.29.0 before 7.123.0 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-86671
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-86671
gitlab.eclipse.org
https://gitlab.eclipse.org/security/vulnerability-reports/-/work_items/620
redhat.atlassian.net
https://redhat.atlassian.net/browse/CRW-11956
gitlab.eclipse.org
https://gitlab.eclipse.org/security/cve-assignment/-/work_items/278
More from Eclipse Che
9.8
CVE-2026-114278
Unauthenticated Command Injection via kubeconfig Username in che-machine-exec
6.3
CVE-2026-86590
In Eclipse Che versions 7.79.0 through 7.121.0, the dashboard backend's POST /dashboard/api/data/resolver endpoint passes a caller-supplied URL directly to an outbound HTTP GET…
