Bug 2531707

Summary: CVE-2026-78254 fop: Apache Ant: Arbitrary file write via path traversal in ftp and scp tasks [fedora-all]
Product: [Fedora] Fedora Reporter: Jeremy Choi <jechoi>
Component: fopAssignee: Peter Lemenkov <lemenkov>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: java-sig-commits, lemenkov, mizdebsk, mkoncek, rhbugs, tim
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: 2026-09-11 20:25:19 UTC 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    

Description Jeremy Choi 2026-09-11 00:15:17 UTC
Disclaimer: Community trackers are created by Red Hat Product Security team on a best effort basis. Package maintainers are required to ascertain if the flaw indeed affects their package, before starting the update process.

The ftp and scp tasks of Apache Ant can download files from a remote server. A malicious server can provide relative paths that allow it to write outside of the dedicated target directory for the download, making it possible to overwrite files of the attacker's choice using the permissions of the user running Ant in versions prior to Ant 1.10.18. 




In order to exploit this vulnerability, the server would either have to be malicious or be subject to a machine-in-the-middle attack. Additionally in the case of scp or the ftp task using ftps the server must pass the server identity checks performed by the tasks.




For ftp tasks not using ftps a malicious server could act as a machine-in-the-middle to provide malicious files.




Starting with Ant 1.10.18 both tasks will prevent writing outside of the destination directory by default. An option is available to disable this behavior in the unlikely case that the  old behavior is required by existing build files.




Mitigations:




Users of scp and ftp (when using ftps) in any version of Ant should not bypass server identity checks. Users of ftp not using ftps should switch to ftps where possible.




All users are recommended to upgrade to Apache Ant 1.10.18, which fixes this issue.

Comment 1 Peter Lemenkov 2026-09-11 20:25:19 UTC
Not applicable to fop.

This is a flaw in Apache Ant's ftp and scp task implementations. The upstream advisory scopes it to a single coordinate: "Apache Ant (org.apache.ant:ant) 1.2 before 1.10.18".

The fop package does not ship Ant. It has no BuildRequires or Requires on ant, it builds with Maven rather than Ant, and %prep removes any jars shipped in the upstream source tarball:

    rm -f fop/lib/*.jar fop/lib/build/*.jar

Checking the most recent build log confirms this — there is no Ant invocation anywhere in it. The binary package contains fop's own artifacts only, so the vulnerable FTP and Scp classes are not present.

Fop does provide an Ant task of its own (org.apache.fop.tools.anttasks.Fop), which may be why this tracker was created, but that compiles against Ant's API rather than embedding it.

Worth noting separately: Fedora currently ships ant-1.10.15, and this issue is fixed in Ant 1.10.18. There does not appear to be a component tracker against ant itself, although twelve packages that consume it have received one.