CVE-2026-111729
In Kura versions <= 5.6.2, the "Command" file-upload handler at `POST /admin/denali/file/command`...
In Kura versions <= 5.6.2, the "Command" file-upload handler at POST /admin/denali/file/command extracts a client-supplied ZIP archive into the configured command.working.directory. The path-containment check validateFileName() compares canonical paths with String.startsWith() without appending a trailing path separator, so an entry that canonicalises to a sibling directory sharing the same string prefix (e.g. /tmpevil/x when the intended directory is /tmp) is accepted. The handler then calls parent.mkdirs() and new FileOutputStream(newFile), creating directories and writing attacker-controlled bytes outside the intended extraction root.
The command service is disabled by default since Kura 4.0.0 [1]. The issue does not apply when the command service is disabled. The caller must be authenticated with rest.command permission.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- Low
- User interaction
- None
What an attacker can affect
- Confidentiality
- None
- Integrity
- High
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used 7.0
In Kura versions <= 5.6.2, the "Command" file-upload handler at POST /admin/denali/file/command extracts a client-supplied ZIP archive into the configured command.working.directory. The path-containment check validateFileName() compares canonical paths with String.startsWith() without appending a trailing path separator, so an entry that canonicalises to a sibling directory sharing the same string prefix (e.g. /tmpevil/x when the intended directory is /tmp) is accepted. The handler then calls parent.mkdirs() and new FileOutputStream(newFile), creating directories and writing attacker-controlled bytes outside the intended extraction root.
The command service is disabled by default since Kura 4.0.0 [1]. The issue does not apply when the command service is disabled. The caller must be authenticated with rest.command permission.
- Record
CVE-2026-111729- CVSS 4.0
- 7.0 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N - Weakness
- CWE-22
- Updated
- 2026-11-10
EUVDEUVD-2026-121412 7.0
In Kura versions <= 5.6.2, the "Command" file-upload handler at POST /admin/denali/file/command extracts a client-supplied ZIP archive into the configured command.working.directory. The path-containment check validateFileName() compares canonical paths with String.startsWith() without appending a trailing path separator, so an entry that canonicalises to a sibling directory sharing the same string prefix (e.g. /tmpevil/x when the intended directory is /tmp) is accepted. The handler then calls parent.mkdirs() and new FileOutputStream(newFile), creating directories and writing attacker-controlled bytes outside the intended extraction root.
The command service is disabled by default since Kura 4.0.0 [1]. The issue does not apply when the command service is disabled. The caller must be authenticated with rest.command permission.
- Record
EUVD-2026-121412- CVSS 4.0
- 7.0 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/SA:N - Updated
- 2026-11-10
GitHub AdvisoriesGHSA-g8qh-9p3h-fvrm 7.0
In Kura versions <= 5.6.2, the "Command" file-upload handler at `POST /admin/denali/file/command`...
In Kura versions <= 5.6.2, the "Command" file-upload handler at POST /admin/denali/file/command extracts a client-supplied ZIP archive into the configured command.working.directory. The path-containment check validateFileName() compares canonical paths with String.startsWith() without appending a trailing path separator, so an entry that canonicalises to a sibling directory sharing the same string prefix (e.g. /tmpevil/x when the intended directory is /tmp) is accepted. The handler then calls parent.mkdirs() and new FileOutputStream(newFile), creating directories and writing attacker-controlled bytes outside the intended extraction root.
The command service is disabled by default since Kura 4.0.0 [1]. The issue does not apply when the command service is disabled. The caller must be authenticated with rest.command permission.
- Record
GHSA-g8qh-9p3h-fvrm- CVSS 4.0
- 7.0 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/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 - Weakness
- CWE-22
- Updated
- 2026-11-10
NVD 7.0
In Kura versions <= 5.6.2, the "Command" file-upload handler at POST /admin/denali/file/command extracts a client-supplied ZIP archive into the configured command.working.directory. The path-containment check validateFileName() compares canonical paths with String.startsWith() without appending a trailing path separator, so an entry that canonicalises to a sibling directory sharing the same string prefix (e.g. /tmpevil/x when the intended directory is /tmp) is accepted. The handler then calls parent.mkdirs() and new FileOutputStream(newFile), creating directories and writing attacker-controlled bytes outside the intended extraction root.
The command service is disabled by default since Kura 4.0.0 [1]. The issue does not apply when the command service is disabled. The caller must be authenticated with rest.command permission.
- Record
CVE-2026-111729- CVSS 4.0
- 7.0 High
CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:N/VI:H/VA:N/SC:N/SI:H/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 - Weakness
- CWE-22
- Updated
- 2026-11-10
Affected products
History
| Recorded | Changed | Sources |
|---|---|---|
| published | EUVD, NVD | |
| published | EUVD | |
| aliases, references, title | GitHub Advisories | |
| cwes, products, severity | CVE List | |
| first indexed | EUVD |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-111729 is a high vulnerability (CVSS 7.0) in Eclipse Foundation Kura, published November 10, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.34%, the 27th percentile. No source names a fixed version.