CVE-2024-45858:
Guardrails has an arbitrary code execution vulnerability
8.8
CVSS ScoreBasic Information
CVE ID
GHSA ID
EPSS Score
-
CWE
Published
9/18/2024
Updated
9/18/2024
KEV Status
No
Technology
Python
Technical Details
CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Package Name | Ecosystem | Vulnerable Versions | First Patched Version |
---|---|---|---|
guardrails-ai | pip | >= 0.2.9, < 0.5.10 | 0.5.10 |
Vulnerability Intelligence
Miggo AI
Root Cause Analysis
The vulnerability stems from unsafe use of eval()
in XML validation logic. The GitHub patch shows eval(t)
was replaced with literal_eval(t)
in parse_rail_arguments
, confirming this was the injection point. While HiddenLayer's report references parse_token
in validatorsattr.py
, the authoritative fix in the provided commit targets validator_utils.py
, indicating code refactoring or consolidation. The test updates (replacing dynamic expressions like list(range(5))
with static values) further validate that eval()
in this function was the root cause.