{ "id": "CVE-2022-36007", "sourceIdentifier": "security-advisories@github.com", "published": "2022-08-15T11:21:40.967", "lastModified": "2022-08-16T17:02:56.530", "vulnStatus": "Analyzed", "descriptions": [ { "lang": "en", "value": "Venice is a Clojure inspired sandboxed Lisp dialect with excellent Java interoperability. A partial path traversal issue exists within the functions `load-file` and `load-resource`. These functions can be limited to load files from a list of load paths. Assuming Venice has been configured with the load paths: `[ \"/Users/foo/resources\" ]` When passing **relative** paths to these two vulnerable functions everything is fine: `(load-resource \"test.png\")` => loads the file \"/Users/foo/resources/test.png\" `(load-resource \"../resources-alt/test.png\")` => rejected, outside the load path When passing **absolute** paths to these two vulnerable functions Venice may return files outside the configured load paths: `(load-resource \"/Users/foo/resources/test.png\")` => loads the file \"/Users/foo/resources/test.png\" `(load-resource \"/Users/foo/resources-alt/test.png\")` => loads the file \"/Users/foo/resources-alt/test.png\" !!! The latter call suffers from the _Partial Path Traversal_ vulnerability. This issue\u2019s scope is limited to absolute paths whose name prefix matches a load path. E.g. for a load-path `\"/Users/foo/resources\"`, the actor can cause loading a resource also from `\"/Users/foo/resources-alt\"`, but not from `\"/Users/foo/images\"`. Versions of Venice before and including v1.10.17 are affected by this issue. Upgrade to Venice >= 1.10.18, if you are on a version < 1.10.18. There are currently no known workarounds." }, { "lang": "es", "value": "Venice es un dialecto Lisp inspirado en Clojure con una excelente interoperabilidad con Java. Se presenta un problema de recorrido parcial en las funciones \"load-file\" y \"load-resource\". Estas funciones pueden limitarse a cargar archivos de una lista de rutas de carga. Asumiendo que Venice ha sido configurado con las rutas de carga: \"[\"/Users/foo/resources\" ]\" Cuando son pasadas rutas **relativas** a estas dos funciones vulnerables todo est\u00e1 bien: \"(load-resource \"test.png\")\" =) carga el archivo \"/Users/foo/resources/test.png\" \"(load-resource \"../resources-alt/test. png\")\" =) rechazado, fuera de la ruta de carga Cuando son pasadas rutas **absolutas** a estas dos funciones vulnerables Venecia puede devolver archivos fuera de las rutas de carga configuradas: \"(load-resource \"/Users/foo/resources/test. \u00a1\u00a1\u00a1png\")\" =) carga el archivo \"/Users/foo/recursos/test.png\" \"(load-resource \"/Users/foo/recursos-alt/test.png\")\" =) carga el archivo \"/Users/foo/recursos-alt/test.png\" !!! Esta \u00faltima llamada sufre una vulnerabilidad se Salto de Ruta Parcial. El alcance de este problema es limitado a las rutas absolutas cuyo prefijo de nombre coincide con una ruta de carga. Por ejemplo, para una ruta de carga \"\"/Users/foo/resources\"\", el actor puede causar la carga de un recurso tambi\u00e9n desde \"\"/Users/foo/resources-alt\"\", pero no desde \"\"/Users/foo/images\"\". Las versiones de Venice anteriores a v1.10.17, incluy\u00e9ndola, est\u00e1n afectadas por este problema. Actualice a Venice versiones posteriores a 1.10.18 incluy\u00e9ndola, si est\u00e1 en una versi\u00f3n anterior a 1.10.18. Actualmente no se presentan mitigaciones conocidas." } ], "metrics": { "cvssMetricV31": [ { "source": "nvd@nist.gov", "type": "Primary", "cvssData": { "version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:N/A:N", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "NONE", "availabilityImpact": "NONE", "baseScore": 3.3, "baseSeverity": "LOW" }, "exploitabilityScore": 1.8, "impactScore": 1.4 }, { "source": "security-advisories@github.com", "type": "Secondary", "cvssData": { "version": "3.1", "vectorString": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:N", "attackVector": "LOCAL", "attackComplexity": "LOW", "privilegesRequired": "LOW", "userInteraction": "NONE", "scope": "UNCHANGED", "confidentialityImpact": "LOW", "integrityImpact": "HIGH", "availabilityImpact": "NONE", "baseScore": 6.1, "baseSeverity": "MEDIUM" }, "exploitabilityScore": 1.8, "impactScore": 4.2 } ] }, "weaknesses": [ { "source": "security-advisories@github.com", "type": "Primary", "description": [ { "lang": "en", "value": "CWE-22" } ] } ], "configurations": [ { "nodes": [ { "operator": "OR", "negate": false, "cpeMatch": [ { "vulnerable": true, "criteria": "cpe:2.3:a:venice_project:venice:*:*:*:*:*:*:*:*", "versionEndExcluding": "1.10.17", "matchCriteriaId": "58D431B7-5D4A-446F-8CF0-2BC46F902C2F" } ] } ] } ], "references": [ { "url": "https://github.com/jlangch/venice/commit/215ae91bb964013b0a2d70718a692832d561ae0a", "source": "security-advisories@github.com", "tags": [ "Patch", "Third Party Advisory" ] }, { "url": "https://github.com/jlangch/venice/commit/c942c73136333bc493050910f171a48e6f575b23", "source": "security-advisories@github.com", "tags": [ "Patch", "Third Party Advisory" ] }, { "url": "https://github.com/jlangch/venice/releases/tag/v1.10.17", "source": "security-advisories@github.com", "tags": [ "Release Notes", "Third Party Advisory" ] }, { "url": "https://github.com/jlangch/venice/security/advisories/GHSA-4mmh-5vw7-rgvj", "source": "security-advisories@github.com", "tags": [ "Exploit", "Third Party Advisory" ] } ] }