Bug 2544481
| Summary: | CVE-2026-78254 ant: Apache Ant: Arbitrary file write via path traversal in ftp and scp tasks [fedora-all] | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Tomas Hoger <thoger> | ||||
| Component: | ant | Assignee: | Marián Konček <mkoncek> | ||||
| Status: | NEW --- | QA Contact: | Fedora Extras Quality Assurance <extras-qa> | ||||
| Severity: | medium | Docs Contact: | |||||
| Priority: | medium | ||||||
| Version: | rawhide | CC: | artem, java-sig-commits, mizdebsk, mkoncek, msrb | ||||
| Target Milestone: | --- | Keywords: | Security, SecurityTracking | ||||
| Target Release: | --- | ||||||
| Hardware: | Unspecified | ||||||
| OS: | Unspecified | ||||||
| Whiteboard: | {"flaws": ["18cfd50e-f5bb-406a-85dc-ee04475e3fc9"]} | ||||||
| Fixed In Version: | Doc Type: | --- | |||||
| Doc Text: | Story Points: | --- | |||||
| Clone Of: | Environment: | ||||||
| Last Closed: | Type: | --- | |||||
| Regression: | --- | Mount Type: | --- | ||||
| Documentation: | --- | CRM: | |||||
| Verified Versions: | Category: | --- | |||||
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
| Cloudforms Team: | --- | Target Upstream Version: | |||||
| Embargoed: | |||||||
| Bug Depends On: | |||||||
| Bug Blocks: | 2529299 | ||||||
| Attachments: |
|
||||||
|
Description
Tomas Hoger
2026-10-01 09:27:58 UTC
Hello, Thank you for maintaining Ant in Fedora. I've prepared a backport of the upstream fix for CVE-2026-78254 and would appreciate a review for Fedora 43 and 44. The <ftp> and <scp> tasks build local file names from names sent by the remote server without checking that the result stays inside the download directory. A malicious server, or a machine-in-the-middle on plain FTP, can send names containing ../ and overwrite any file the user running Ant can write. Fedora 43, 44 and rawhide all ship Ant 1.10.15, which is affected; upstream fixed it in Ant 1.10.18. The attached patch backports upstream commits 07ee9c418e3b (ftp), 9252566cab81 and its follow-up 3807d672ea18 (scp/sftp), and 7809cdd503b9 (ftp mirror). Downloads whose target resolves outside the destination are now skipped with a warning, and, as upstream, a new allowFilesToEscapeDest attribute restores the old behavior if a build really needs it. The only adaptation is in the log messages: they use File.getCanonicalPath() because FileUtils.getResolvedPath() is not available in 1.10.15. AI assistance was used to prepare this patch and its validation. The resulting changes and validation results were reviewed by a human. Thank you for taking a look. I'd be glad to adjust the backport if needed. Created attachment 2161891 [details]
backported patch
|