CVE-2026-54550
Java Análisis y mitigación de vulnerabilidades

Vista general

CVE-2026-54550 is a path traversal vulnerability in IzPack, a widely used Java-based cross-platform installer packaging tool. The flaw exists in UnpackerBase.unpack() within izpack-installer, where attacker-controlled PackFile target paths containing ../ sequences are not normalized or validated for directory containment, allowing files to be written outside the intended installation directory. All versions up to and including 5.2.6 of the Maven package org.codehaus.izpack:izpack-installer are affected, with no patched release currently available. The vulnerability was originally identified and reported by Michał Majchrowicz, Marcin Wyczechowski, and Paweł Zdunek of the AFINE Team, first published to the GitHub Advisory Database on July 17, 2026, and updated on August 26, 2026. It carries a CVSS v3.1 base score of 7.4 (High) (GitHub Advisory, Feedly).

Técnicas

The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory — Path Traversal). In UnpackerBase.unpack(), the targetPath is retrieved from an attacker-controlled PackFile object and passed through IoHelper.translatePath(), which performs only file-separator character conversion (/File.separatorChar) with no security validation, canonical path resolution, or startsWith(installDir) containment check. The resulting File object is constructed directly from this unsanitized path, allowing ../ sequences to resolve to arbitrary locations on disk. Because IzPack installer JARs are standard ZIP archives with no digital signature or integrity protection, an attacker can repack any legitimate installer with malicious PackFile entries embedding traversal sequences. A public proof-of-concept reproducer is included in the advisory, demonstrating file writes outside the installation directory using a standalone Java class that replicates the vulnerable code path (GitHub Advisory, Fix Commit).

Impacto

Successful exploitation allows an attacker to write arbitrary files to any location accessible under the victim's privileges at the time the installer is executed. On Windows, where installers are commonly run as a local administrator, this includes sensitive locations such as %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup, %SystemRoot%\System32, or other PATH directories — enabling persistence or privilege escalation. On Linux and macOS, user-writable locations such as shell startup scripts or ~/.local/bin can be targeted. The vulnerability has no confidentiality or availability impact but poses a high integrity risk with a changed scope, as the affected component (the installer) can impact resources beyond its own security boundary (GitHub Advisory).

Explotabilidad

A proof-of-concept is publicly available as part of the security advisory, demonstrating the vulnerability with a standalone Java reproducer (GitHub Advisory). The NVD SSVC assessment classifies exploitation status as "poc" and notes the attack is not automatable, requiring user interaction (a victim must run the trojanized installer). The EPSS score is 0.0, indicating low current probability of widespread exploitation. No in-the-wild exploitation or threat actor attribution has been reported, and the vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog (Feedly).

Pasos de explotación

  1. Obtain a legitimate IzPack-generated installer: Identify a target application distributed as an IzPack installer JAR (e.g., from a software vendor's download page).
  2. Unpack the installer JAR: Since IzPack installers are standard ZIP archives, extract the contents using any ZIP tool: unzip target-installer.jar -d installer_contents/.
  3. Craft a malicious PackFile entry: Modify or inject a serialized PackFile resource within the extracted archive so that its targetPath field contains a path traversal sequence, e.g., <installDir>/../../../AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/malware.exe on Windows or ../../.bashrc on Linux.
  4. Repack the installer: Reassemble the modified contents back into a JAR/ZIP: zip -r malicious-installer.jar installer_contents/. No code signing is required as IzPack does not enforce installer integrity.
  5. Distribute the trojanized installer: Deliver the malicious installer to the victim via social engineering (e.g., phishing email, fake software download site, or supply chain substitution).
  6. Victim executes the installer: When the victim runs the installer, UnpackerBase.unpack() processes the malicious PackFile entry, calls IoHelper.translatePath() (separator swap only), constructs a File object without normalization, and writes the attacker-controlled payload to the traversal target path under the victim's privileges.
  7. Achieve persistence or code execution: The written file (e.g., a startup script or executable) executes on next login or system event, granting the attacker persistent access (GitHub Advisory).

Indicadores de compromiso

  • File System: Unexpected files appearing in startup folders (e.g., %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\ on Windows, ~/.config/autostart/ on Linux) shortly after running an IzPack installer; files written to %SystemRoot%\System32 or PATH directories by a Java process; files with names inconsistent with the installed application in system directories.
  • Process: Java process (java.exe or java) spawning child processes or writing files outside the declared installation directory during installer execution; mkdirs() calls creating unexpected directory structures outside the install path.
  • Logs: Installer log files (if generated) showing file write operations to paths containing .. segments or resolving outside the installation directory; OS audit logs (e.g., Windows Security Event Log, Linux auditd) recording file creation events by the Java installer process in sensitive system locations.
  • Network: Outbound connections from the installer process to unexpected remote hosts (if the dropped payload includes a network component), particularly during or immediately after installer execution (GitHub Advisory).

Mitigación y soluciones alternativas

As of the advisory publication date (August 26, 2026), no patched release of org.codehaus.izpack:izpack-installer is available for versions ≤ 5.2.6. A fix has been merged into the 5.2 branch via pull request #1193 (commits 4233ba3 and 8b7c679), which adds validateTargetPath() checks at both compile time and installation time to reject paths containing .. segments (Fix PR, Fix Commit). Until a patched release is published, organizations should: (1) avoid running IzPack installers obtained from untrusted or unverified sources; (2) run installers in sandboxed or low-privilege environments where possible; (3) monitor file system activity during installer execution using endpoint detection tools; and (4) track the IzPack GitHub repository for a patched release (GitHub Advisory).

Reacciones de la comunidad

The vulnerability was discovered and responsibly disclosed by Michał Majchrowicz, Marcin Wyczechowski, and Paweł Zdunek of the AFINE Team. The IzPack maintainer (reinhapa) promptly merged a fix into the 5.2 branch on July 17, 2026, the same day the advisory was first published, with the fix reviewed and approved by contributor akuhtz (Fix PR). No significant broader media coverage or notable social media commentary has been identified beyond the GitHub advisory and standard vulnerability database entries.

Recursos adicionales


FuenteEste informe se generó utilizando IA

Relacionado Java Vulnerabilidades:

CVE ID

Severidad

Puntuación

Tecnologías

Nombre del componente

Exploit de CISA KEV

Tiene arreglo

Fecha de publicación

CVE-2026-76904CRITICAL9.8
  • Java logoJava
  • org.geotools.jdbc:gt-jdbc-postgis
NoAug 21, 2026
CVE-2026-54049HIGH8.7
  • Java logoJava
  • org.sakaiproject.conversations:sakai-conversations-impl
NoNoAug 24, 2026
CVE-2026-54556HIGH8.2
  • Java logoJava
  • org.http4s:http4s-ember-core_2.13
NoAug 26, 2026
CVE-2026-54550HIGH7.4
  • Java logoJava
  • org.codehaus.izpack:izpack-installer
NoNoAug 26, 2026
CVE-2026-54050MEDIUM6.5
  • Java logoJava
  • org.sakaiproject.profile2:profile2-impl
NoAug 24, 2026

Evaluación gratuita de vulnerabilidades

Compare su postura de seguridad en la nube

Evalúe sus prácticas de seguridad en la nube en 9 dominios de seguridad para comparar su nivel de riesgo e identificar brechas en sus defensas.

Solicitar evaluación

Recursos adicionales de Wiz

Obtén una demostración personalizada

¿Listo para ver a Wiz en acción?

"La mejor experiencia de usuario que he visto en mi vida, proporciona una visibilidad completa de las cargas de trabajo en la nube."
David EstlickCISO
"Wiz proporciona un panel único para ver lo que ocurre en nuestros entornos en la nube."
Adam FletcherJefe de Seguridad
"Sabemos que si Wiz identifica algo como crítico, en realidad lo es."
Greg PoniatowskiJefe de Gestión de Amenazas y Vulnerabilidades