{"resultsPerPage":1,"startIndex":0,"totalResults":1,"format":"NVD_CVE","version":"2.0","timestamp":"2026-04-22T04:07:59.519","vulnerabilities":[{"cve":{"id":"CVE-2024-8238","sourceIdentifier":"security@huntr.dev","published":"2025-03-20T10:15:41.613","lastModified":"2025-10-15T13:15:54.487","vulnStatus":"Modified","cveTags":[],"descriptions":[{"lang":"en","value":"In version 3.22.0 of aimhubio/aim, the AimQL query language uses an outdated version of the safer_getattr() function from RestrictedPython. This version does not protect against the str.format_map() method, allowing an attacker to leak server-side secrets or potentially gain unrestricted code execution. The vulnerability arises because str.format_map() can read arbitrary attributes of Python objects, enabling attackers to access sensitive variables such as os.environ. If an attacker can write files to a known location on the Aim server, they can use str.format_map() to load a malicious .dll/.so file into the Python interpreter, leading to unrestricted code execution."},{"lang":"es","value":"En la versión 3.22.0 de aimhubio/aim, el lenguaje de consulta AimQL utiliza una versión obsoleta de la función safer_getattr() de RestrictedPython. Esta versión no protege contra el método str.format_map(), lo que permite a un atacante filtrar información confidencial del servidor o potencialmente obtener ejecución de código sin restricciones. La vulnerabilidad surge porque str.format_map() puede leer atributos arbitrarios de objetos Python, lo que permite a los atacantes acceder a variables sensibles como os.environ. Si un atacante puede escribir archivos en una ubicación conocida del servidor Aim, puede usar str.format_map() para cargar un archivo .dll/.so malicioso en el intérprete de Python, lo que provoca la ejecución de código sin restricciones."}],"metrics":{"cvssMetricV31":[{"source":"nvd@nist.gov","type":"Primary","cvssData":{"version":"3.1","vectorString":"CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H","baseScore":8.1,"baseSeverity":"HIGH","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"HIGH","availabilityImpact":"HIGH"},"exploitabilityScore":2.2,"impactScore":5.9}],"cvssMetricV30":[{"source":"security@huntr.dev","type":"Secondary","cvssData":{"version":"3.0","vectorString":"CVSS:3.0/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N","baseScore":5.9,"baseSeverity":"MEDIUM","attackVector":"NETWORK","attackComplexity":"HIGH","privilegesRequired":"NONE","userInteraction":"NONE","scope":"UNCHANGED","confidentialityImpact":"HIGH","integrityImpact":"NONE","availabilityImpact":"NONE"},"exploitabilityScore":2.2,"impactScore":3.6}]},"weaknesses":[{"source":"security@huntr.dev","type":"Secondary","description":[{"lang":"en","value":"CWE-1336"}]}],"configurations":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:aimstack:aim:3.22.0:*:*:*:*:python:*:*","matchCriteriaId":"3BC21D48-2995-448A-ACF4-AB078A1A619B"}]}]}],"references":[{"url":"https://huntr.com/bounties/4e140ef9-f6d1-4e68-a44c-3b9e856924d3","source":"security@huntr.dev","tags":["Exploit","Third Party Advisory"]}]}}]}