{"id":"CVE-2026-26032","aliases":["EUVD-2026-44763","GHSA-j482-hm6j-v5jj","SUSE-SU-2026:22858-1","SUSE-SU-2026:3225-1","UBUNTU-CVE-2026-26032","openSUSE-SU-2026:11326-1","openSUSE-SU-2026:21424-1"],"status":"published","title":"Apache Ivy: PackagerResolver path traversal vulnerability","description":"The PackagerResolver of Apache Ivy is able to download online\nartifacts and to (re)package them in a format defined by a\npackager.xml file. This repackaging is done by an Ant script, which is\nstored in a subdirectory of the configured \"buildRoot\" directory. This\nsubdirectory is calculated based on modules coordinates, like the\norganisation, name or version.\n\nIf one of the coordinates contains \"../\" sequences - which are valid\ncharacters for Ivy coordinates in general- it is possible to break out\nof the configured \"buildRoot\" directory where other files can be\noverwritten.\n\nIn order to exploit this vulnerability an attacker needs to have\naccess to a packager repository and add or modify the coordinates in\nivy.xml files to have such \"../\" sequences.\n\nUsers of Apache Ivy 2.0.0 to 2.5.3 (inclusive) should upgrade to Ivy 2.6.0.","severity":{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"adp","from":"cve"},"epss":{"day":"2026-11-10","score":0.00507,"percentile":0.43627,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-22"],"published":"2026-07-15T18:49:43Z","modified":"2026-10-28T02:31:03Z","fixes":[{"ecosystem":"SUSE:Linux Enterprise Server 16.0","package":"apache-ivy","fixed_in":["2.6.0-160000.1.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Server for SAP applications 16.0","package":"apache-ivy","fixed_in":["2.6.0-160000.1.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP7","package":"apache-commons-compress","fixed_in":["1.28.0-150200.3.19.1"],"sources":["osv"]},{"ecosystem":"SUSE:Linux Enterprise Module for Development Tools 15 SP7","package":"apache-ivy","fixed_in":["2.6.0-150200.3.12.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Tumbleweed","package":"apache-ivy","fixed_in":["2.6.0-1.1"],"sources":["osv"]},{"ecosystem":"openSUSE:Leap 16.0","package":"apache-ivy","fixed_in":["2.6.0-160000.1.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server 16.0","package":"apache-ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.0-160000.1.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Server for SAP applications 16.0","package":"apache-ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.0-160000.1.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Basesystem 15 SP7","package":"apache-commons-compress","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.28.0-150200.3.19.1"}]}]},{"source":"osv","ecosystem":"SUSE:Linux Enterprise Module for Development Tools 15 SP7","package":"apache-ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.0-150200.3.12.1"}]}]},{"source":"osv","ecosystem":"Ubuntu:14.04:LTS","package":"ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.3.0-2","2.3.0-3"]},{"source":"osv","ecosystem":"Ubuntu:16.04:LTS","package":"ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.3.0-4","2.4.0-3"]},{"source":"osv","ecosystem":"Ubuntu:18.04:LTS","package":"ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.4.0-3"]},{"source":"osv","ecosystem":"Ubuntu:20.04:LTS","package":"ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.4.0-5"]},{"source":"osv","ecosystem":"Ubuntu:22.04:LTS","package":"ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.0-1","2.5.0-2"]},{"source":"osv","ecosystem":"Ubuntu:24.04:LTS","package":"ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.1-2","2.5.2-1"]},{"source":"osv","ecosystem":"Ubuntu:26.10","package":"ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.3-1"]},{"source":"osv","ecosystem":"Ubuntu:26.04:LTS","package":"ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["2.5.3-1"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"apache-ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.0-1.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Leap 16.0","package":"apache-ivy","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2.6.0-160000.1.1"}]}]}],"products":[{"vendor":"apache","product":"ivy"},{"vendor":"apache software foundation","product":"apache ivy"}],"references":[{"url":"https://lists.apache.org/thread/4d9dzrlnoplvywnyj9x6w84kxg7n3jyq","tags":["vendor-advisory","Mitigation","Vendor Advisory","advisory"]},{"url":"http://www.openwall.com/lists/oss-security/2026/07/15/5","tags":["Mailing List","Third Party Advisory","web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-26032","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-j482-hm6j-v5jj"},{"url":"https://repo.maven.apache.org/maven2","tags":["web"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/26xxx/CVE-2026-26032.json","tags":["advisory"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-202622858-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1271727","tags":["report"]},{"url":"https://www.suse.com/security/cve/CVE-2026-26032","tags":["web"]},{"url":"https://www.suse.com/support/update/announcement/2026/suse-su-20263225-1/","tags":["advisory"]},{"url":"https://bugzilla.suse.com/1269480","tags":["report"]},{"url":"https://ubuntu.com/security/CVE-2026-26032","tags":["report"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-26032","tags":["report"]},{"url":"","tags":["advisory"]}],"sources":{"cve":[{"id":"CVE-2026-26032","title":"Apache Ivy: PackagerResolver path traversal vulnerability","description":"The PackagerResolver of Apache Ivy is able to download online\nartifacts and to (re)package them in a format defined by a\npackager.xml file. This repackaging is done by an Ant script, which is\nstored in a subdirectory of the configured \"buildRoot\" directory. This\nsubdirectory is calculated based on modules coordinates, like the\norganisation, name or version.\n\nIf one of the coordinates contains \"../\" sequences - which are valid\ncharacters for Ivy coordinates in general- it is possible to break out\nof the configured \"buildRoot\" directory where other files can be\noverwritten.\n\nIn order to exploit this vulnerability an attacker needs to have\naccess to a packager repository and add or modify the coordinates in\nivy.xml files to have such \"../\" sequences.\n\nUsers of Apache Ivy 2.0.0 to 2.5.3 (inclusive) should upgrade to Ivy 2.6.0.","status":"published","published":"2026-07-15T18:49:43.153Z","modified":"2026-07-15T19:31:07.994Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"adp"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T13:38:20.971157Z"}],"euvd":[{"id":"EUVD-2026-44763","description":"The PackagerResolver of Apache Ivy is able to download online\nartifacts and to (re)package them in a format defined by a\npackager.xml file. This repackaging is done by an Ant script, which is\nstored in a subdirectory of the configured \"buildRoot\" directory. This\nsubdirectory is calculated based on modules coordinates, like the\norganisation, name or version.\n\nIf one of the coordinates contains \"../\" sequences - which are valid\ncharacters for Ivy coordinates in general- it is possible to break out\nof the configured \"buildRoot\" directory where other files can be\noverwritten.\n\nIn order to exploit this vulnerability an attacker needs to have\naccess to a packager repository and add or modify the coordinates in\nivy.xml files to have such \"../\" sequences.\n\nUsers of Apache Ivy 2.0.0 to 2.5.3 (inclusive) should upgrade to Ivy 2.6.0.","status":"published","published":"2026-07-15T18:49:43Z","modified":"2026-07-15T19:31:07Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T18:19:52.35951Z"}],"ghsa":[{"id":"GHSA-j482-hm6j-v5jj","title":"The PackagerResolver of Apache Ivy is able to download online\nartifacts and to (re)package them...","description":"The PackagerResolver of Apache Ivy is able to download online\nartifacts and to (re)package them in a format defined by a\npackager.xml file. This repackaging is done by an Ant script, which is\nstored in a subdirectory of the configured \"buildRoot\" directory. This\nsubdirectory is calculated based on modules coordinates, like the\norganisation, name or version.\n\nIf one of the coordinates contains \"../\" sequences - which are valid\ncharacters for Ivy coordinates in general- it is possible to break out\nof the configured \"buildRoot\" directory where other files can be\noverwritten.\n\nIn order to exploit this vulnerability an attacker needs to have\naccess to a packager repository and add or modify the coordinates in\nivy.xml files to have such \"../\" sequences.\n\nUsers of Apache Ivy 2.0.0 to 2.5.3 (inclusive) should upgrade to Ivy 2.6.0.","status":"published","published":"2026-07-15T21:31:22Z","modified":"2026-07-15T21:31:26Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:09:33.182129Z"}],"nvd":[{"id":"CVE-2026-26032","description":"The PackagerResolver of Apache Ivy is able to download online\nartifacts and to (re)package them in a format defined by a\npackager.xml file. This repackaging is done by an Ant script, which is\nstored in a subdirectory of the configured \"buildRoot\" directory. This\nsubdirectory is calculated based on modules coordinates, like the\norganisation, name or version.\n\nIf one of the coordinates contains \"../\" sequences - which are valid\ncharacters for Ivy coordinates in general- it is possible to break out\nof the configured \"buildRoot\" directory where other files can be\noverwritten.\n\nIn order to exploit this vulnerability an attacker needs to have\naccess to a packager repository and add or modify the coordinates in\nivy.xml files to have such \"../\" sequences.\n\nUsers of Apache Ivy 2.0.0 to 2.5.3 (inclusive) should upgrade to Ivy 2.6.0.","status":"published","published":"2026-07-15T19:17:10.447Z","modified":"2026-10-24T21:10:00.13Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T14:12:29.879716Z"}],"osv":[{"id":"CVE-2026-26032","title":"Apache Ivy: PackagerResolver path traversal vulnerability","description":"The PackagerResolver of Apache Ivy is able to download online\nartifacts and to (re)package them in a format defined by a\npackager.xml file. This repackaging is done by an Ant script, which is\nstored in a subdirectory of the configured \"buildRoot\" directory. This\nsubdirectory is calculated based on modules coordinates, like the\norganisation, name or version.\n\nIf one of the coordinates contains \"../\" sequences - which are valid\ncharacters for Ivy coordinates in general- it is possible to break out\nof the configured \"buildRoot\" directory where other files can be\noverwritten.\n\nIn order to exploit this vulnerability an attacker needs to have\naccess to a packager repository and add or modify the coordinates in\nivy.xml files to have such \"../\" sequences.\n\nUsers of Apache Ivy 2.0.0 to 2.5.3 (inclusive) should upgrade to Ivy 2.6.0.","status":"published","published":"2026-07-15T18:49:43.153Z","modified":"2026-10-28T02:31:03.326029403Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-22"],"updated_at":"2026-11-02T15:44:59.80315Z"},{"id":"UBUNTU-CVE-2026-26032","description":"The PackagerResolver of Apache Ivy is able to download online artifacts and to (re)package them in a format defined by a packager.xml file. This repackaging is done by an Ant script, which is stored in a subdirectory of the configured \"buildRoot\" directory. This subdirectory is calculated based on modules coordinates, like the organisation, name or version. If one of the coordinates contains \"../\" sequences - which are valid characters for Ivy coordinates in general- it is possible to break out of the configured \"buildRoot\" directory where other files can be overwritten. In order to exploit this vulnerability an attacker needs to have access to a packager repository and add or modify the coordinates in ivy.xml files to have such \"../\" sequences. Users of Apache Ivy 2.0.0 to 2.5.3 (inclusive) should upgrade to Ivy 2.6.0.","status":"published","published":"2026-07-15T19:17:00Z","modified":"2026-10-17T12:55:31.124470357Z","cvss":[{"version":"3.1","score":5.4,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T16:56:08.726452Z"},{"id":"openSUSE-SU-2026:11326-1","title":"apache-ivy-2.6.0-1.1 on GA media","description":"These are all security issues fixed in the apache-ivy-2.6.0-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-07-22T00:00:00Z","modified":"2026-07-23T09:45:07.030065556Z","updated_at":"2026-11-02T16:58:38.95195Z"},{"id":"openSUSE-SU-2026:21424-1","title":"Security update for apache-ivy","description":"This update for apache-ivy fixes the following issue:\n\n- CVE-2026-26032: directory traversal sequences in module coordinates can allow overwriting arbitrary files outside\n  the configured \"buildRoot\" directory (bsc#1271727).\n\nChanges for apache-ivy:\n\n- Upgrade to 2.6.0:\n\n + the ivy:retrieve task failed when the retrieve pattern\n contained some text in parentheses before the first token, for\n instance: /jobs/lib (JDK 17)/[artifact].[ext] (IVY-1660)\n + when the ivy:deliver task is configured to replace dynamic\n revisions, it now replaces these revisions to the resolved\n revision before any conflict resolution was done, which was\n the original behavior before Ivy 2.3.0. This way, the\n delivered ivy.xml can be used to have reproducible dependency\n resolution, especially when multiple configurations are used.\n It also fixes issues where the dynamic revisions were replaced\n by versions from other configurations. (IVY-1485, IVY-1661)\n + the ivy:deliver task didn't replace dynamic revision from\n inherited dependencies. (IVY-1410)\n + the ivy:install task didn't take the from resolver into\n account when resolving Maven parent modules or\n source/javadoc artifacts.\n + the ivy:checkdepsupdate task could suggest a lesser version as\n update. (IVY-1665)\n + the ivy:makepom task no longer adds a dependency to the\n dependencyManagement section. (IVY-1667)\n + the ivy:deliver task didn't include XML namespaces from a\n parent ivy module when merging the descriptors. (IVY-1658)\n + the ivy:checkdepsupdate task no longer shows evicted versions.\n (IVY-1662)\n * Improvements\n + use Apache Commons Compress for pack200 handling to avoid\n issues on Java 14 and later. If pack200 is needed, make sure\n to add Apache Commons Compress to your classpath. (IVY-1652)\n + ivy:retrieve and the 'post resolve tasks' now support the\n override child element. (IVY-1664)\n + ivy:makepom will now add override elements of the ivy.xml to\n the dependencyManagement section of the generated pom.\n (IVY-1663)\n + ivy:deliver and ivy:publish now writes inherited dependencies\n first to preserve resolve order (IVY-1656)\n + ModuleRevisionId.encodeToString now returns a deterministic\n string that doesn't rely on a implmentation of HashMap\n * New feature\n + added a new nearest conflict manager, which handles conflicts\n in the same way that Maven does. (IVY-813)\n","status":"published","published":"2026-07-22T17:53:18Z","modified":"2026-07-24T18:24:23.907675507Z","updated_at":"2026-11-02T16:58:41.885092Z"},{"id":"SUSE-SU-2026:22858-1","title":"Security update for apache-ivy","description":"This update for apache-ivy fixes the following issue:\n\n- CVE-2026-26032: directory traversal sequences in module coordinates can allow overwriting arbitrary files outside\n  the configured \"buildRoot\" directory (bsc#1271727).\n\nChanges for apache-ivy:\n\n- Upgrade to 2.6.0:\n\n + the ivy:retrieve task failed when the retrieve pattern\n contained some text in parentheses before the first token, for\n instance: /jobs/lib (JDK 17)/[artifact].[ext] (IVY-1660)\n + when the ivy:deliver task is configured to replace dynamic\n revisions, it now replaces these revisions to the resolved\n revision before any conflict resolution was done, which was\n the original behavior before Ivy 2.3.0. This way, the\n delivered ivy.xml can be used to have reproducible dependency\n resolution, especially when multiple configurations are used.\n It also fixes issues where the dynamic revisions were replaced\n by versions from other configurations. (IVY-1485, IVY-1661)\n + the ivy:deliver task didn't replace dynamic revision from\n inherited dependencies. (IVY-1410)\n + the ivy:install task didn't take the from resolver into\n account when resolving Maven parent modules or\n source/javadoc artifacts.\n + the ivy:checkdepsupdate task could suggest a lesser version as\n update. (IVY-1665)\n + the ivy:makepom task no longer adds a dependency to the\n dependencyManagement section. (IVY-1667)\n + the ivy:deliver task didn't include XML namespaces from a\n parent ivy module when merging the descriptors. (IVY-1658)\n + the ivy:checkdepsupdate task no longer shows evicted versions.\n (IVY-1662)\n * Improvements\n + use Apache Commons Compress for pack200 handling to avoid\n issues on Java 14 and later. If pack200 is needed, make sure\n to add Apache Commons Compress to your classpath. (IVY-1652)\n + ivy:retrieve and the 'post resolve tasks' now support the\n override child element. (IVY-1664)\n + ivy:makepom will now add override elements of the ivy.xml to\n the dependencyManagement section of the generated pom.\n (IVY-1663)\n + ivy:deliver and ivy:publish now writes inherited dependencies\n first to preserve resolve order (IVY-1656)\n + ModuleRevisionId.encodeToString now returns a deterministic\n string that doesn't rely on a implmentation of HashMap\n * New feature\n + added a new nearest conflict manager, which handles conflicts\n in the same way that Maven does. (IVY-813)\n","status":"published","published":"2026-07-22T17:48:55Z","modified":"2026-07-28T18:24:10.727256974Z","updated_at":"2026-11-02T15:54:03.080707Z"},{"id":"SUSE-SU-2026:3225-1","title":"Security update for apache-commons-compress, apache-ivy, brotli-java, zstd-jni","description":"This update for apache-commons-compress, apache-ivy, brotli-java, zstd-jni fixes the following issue\n\nSecurity issues fixed:\n\n- CVE-2026-26032: improper pathname limitation in `PackagerResolver` allows for arbitrary files writes outside of the\n  configured `buildRoot` directory (bsc#1271727).\n\nOther updates and bugfixes:\n\n- Update `apache-commons-compress` to 1.28.0.\n- Update `apache-ivy` to 2.6.0.\n- Include `brotli-java` and update to 1.2.0.\n- Include `zstd-jni` and update to v1.5.7.11.\n","status":"published","published":"2026-07-23T18:36:40Z","modified":"2026-07-24T17:16:04.995917478Z","updated_at":"2026-11-02T15:54:04.987808Z"}]}}
