{"resultsPerPage":1,"startIndex":0,"totalResults":1,"format":"NVD_CVE","version":"2.0","timestamp":"2026-05-01T04:45:59.386","vulnerabilities":[{"cve":{"id":"CVE-2025-54387","sourceIdentifier":"security-advisories@github.com","published":"2025-08-05T01:15:41.557","lastModified":"2025-10-09T17:32:06.443","vulnStatus":"Analyzed","cveTags":[],"descriptions":[{"lang":"en","value":"IPX is an image optimizer powered by sharp and svgo. In versions 1.3.1 and below, 2.0.0-0 through 2.1.0, and 3.0.0 through 3.1.0, the approach used to check whether a path is within allowed directories is vulnerable to path prefix bypass when the allowed directories do not end with a path separator. This occurs because the check relies on a raw string prefix comparison. This is fixed in versions 1.3.2, 2.1.1 and 3.1.1."},{"lang":"es","value":"IPX es un optimizador de imágenes desarrollado por Sharp y SVGO. En las versiones 1.3.1 y anteriores, 2.0.0-0 a 2.1.0 y 3.0.0 a 3.1.0, el método para comprobar si una ruta se encuentra dentro de los directorios permitidos es vulnerable a la omisión del prefijo de ruta cuando los directorios permitidos no terminan con un separador de ruta. Esto ocurre porque la comprobación se basa en una comparación de prefijos de cadena sin formato. Esto se ha corregido en las versiones 1.3.2, 2.1.1 y 3.1.1."}],"metrics":{"cvssMetricV40":[{"source":"security-advisories@github.com","type":"Secondary","cvssData":{"version":"4.0","vectorString":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:H/SI:L/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","baseScore":6.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"PRESENT","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"LOW","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subConfidentialityImpact":"HIGH","subIntegrityImpact":"LOW","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","confidentialityRequirement":"NOT_DEFINED","integrityRequirement":"NOT_DEFINED","availabilityRequirement":"NOT_DEFINED","modifiedAttackVector":"NOT_DEFINED","modifiedAttackComplexity":"NOT_DEFINED","modifiedAttackRequirements":"NOT_DEFINED","modifiedPrivilegesRequired":"NOT_DEFINED","modifiedUserInteraction":"NOT_DEFINED","modifiedVulnConfidentialityImpact":"NOT_DEFINED","modifiedVulnIntegrityImpact":"NOT_DEFINED","modifiedVulnAvailabilityImpact":"NOT_DEFINED","modifiedSubConfidentialityImpact":"NOT_DEFINED","modifiedSubIntegrityImpact":"NOT_DEFINED","modifiedSubAvailabilityImpact":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED"}}],"cvssMetricV31":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":9.8,"baseSeverity":"CRITICAL","attackVector":"NETWORK","attackComplexity":"LOW","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":3.9,"impactScore":5.9}]},"weaknesses":[{"source":"security-advisories@github.com","type":"Secondary","description":[{"lang":"en","value":"CWE-22"}]}],"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:unjs:ipx:*:*:*:*:*:node.js:*:*","versionEndExcluding":"1.3.2","matchCriteriaId":"DBA5D48C-A083-47B6-B71E-9BBBA70CD3D5"},{"vulnerable":true,"criteria":"cpe:2.3:a:unjs:ipx:*:*:*:*:*:node.js:*:*","versionStartIncluding":"2.0.0","versionEndExcluding":"2.1.1","matchCriteriaId":"21AFC1AA-597F-4582-B2CB-C60E4208FCA2"},{"vulnerable":true,"criteria":"cpe:2.3:a:unjs:ipx:*:*:*:*:*:node.js:*:*","versionStartIncluding":"3.0.0","versionEndExcluding":"3.1.1","matchCriteriaId":"183B7712-BABA-41DD-9568-66E050790AE8"}]}]}],"references":[{"url":"https://github.com/unjs/ipx/commit/81693ddbfc062cc922e4e2406e8427ab4e3ad214","source":"security-advisories@github.com","tags":["Patch"]},{"url":"https://github.com/unjs/ipx/releases/tag/v1.3.2","source":"security-advisories@github.com","tags":["Release Notes"]},{"url":"https://github.com/unjs/ipx/releases/tag/v2.1.1","source":"security-advisories@github.com","tags":["Release Notes"]},{"url":"https://github.com/unjs/ipx/releases/tag/v3.1.1","source":"security-advisories@github.com","tags":["Release Notes"]},{"url":"https://github.com/unjs/ipx/security/advisories/GHSA-mm3p-j368-7jcr","source":"security-advisories@github.com","tags":["Exploit","Vendor Advisory"]},{"url":"https://github.com/unjs/ipx/security/advisories/GHSA-mm3p-j368-7jcr","source":"134c704f-9b21-4f2e-91b3-4a467353bcc0","tags":["Exploit","Vendor Advisory"]}]}}]}