GitPython's Submodule.move() API is vulnerable to a symlink traversal issue where an attacker-controlled symlink in a cloned repository can cause the move operation to affect directories outside the intended parent worktree. This occurs because the API does not reject symbolic links in intermediate path components before performing filesystem operations. The vulnerability allows an attacker to redirect a submodule move outside the repository, corrupting the repository's index and configuration state. No code execution or confidentiality impact was demonstrated. The issue affects GitPython versions from 1.0.616 up to but not including 3.3.30 and has been fixed in version 3.3.30.
GitPython versions up to 3.1.62 contain a vulnerability in the Head.checkout() method where an attacker-controlled branch name can be used to perform an arbitrary file read. This occurs because the branch name is passed as a positional argument to git checkout without proper sanitization or a '--' separator, allowing crafted branch names like '--pathspec-from-file=/etc/passwd' to expose sensitive file contents. The vulnerability affects all published releases up to 3.1.62 and is fixed in version 3.3.30.
GitPython versions from 2.2.225 up to but not including 3.3.30 contain a vulnerability in the Remote.pull() method where the positional refspec argument is not properly checked against unsafe options. This allows an attacker controlling the refspec to inject a --upload-pack option that executes arbitrary commands with the privileges of the calling process when using local-path or SSH transports. The vulnerability is due to the unsafe-option guard only inspecting keyword arguments and not the positional refspec, enabling command execution without user interaction. A fix is available in GitPython version 3.3.30.
GitPython contains vulnerabilities in three wrapper methods (`ls_remote`, `merge_base`, and `IndexFile.move`) that omit checks for unsafe protocols and options. The `ls_remote` method does not check the URL for unsafe protocols, allowing remote code execution (RCE) if the victim's git transport policy permits the 'ext' protocol. The `merge_base` and `move` methods forward caller-controlled arguments without proper guards, creating latent argument-injection risks. These issues are verified unfixed on the main branch as of 2026-09-21 and affect versions from 1.0.616 up to but not including 3.3.30. A fix is available in version 3.3.30. The CVSS score is 7.5 (high severity).
Checkov versions from 1.0.616 up to but not including 3.3.30 contain a vulnerability in GitPython's parse_actor_and_date function. The regex pattern used to parse author, committer, and tagger lines can cause quadratic backtracking when processing malformed identity lines missing or having invalid trailing epoch or timezone data. This results in CPU exhaustion when reading crafted commit or tag objects, causing significant delays per access. The issue was fixed in version 3.3.30 by changing the regex to prevent overlapping matches and eliminate the backtracking.
GitPython's _clone() method improperly expands environment variables in the separate_git_dir parameter derived from attacker-controlled .gitmodules submodule names. This leads to leakage of environment variable values into persistent on-disk directory names and debug logs when DEBUG-level logging is enabled. The issue affects versions from 1.0.616 up to but not including 3.3.30 and has been fixed in version 3.3.30.
A vulnerability in AIOHTTP allows the Secure attribute of a shared cookie to not be enforced, potentially permitting the cookie to be sent over unencrypted requests. This affects versions from 2.0.615 up to but not including 3.3.30. The issue has been fixed in version 3.3.30.
A reference leak vulnerability exists in the items-view union and subtraction operators of aio-libs/multidict versions 6.7.0 through 6.9.0. This flaw allows a remote client to cause unbounded memory growth by leaking key-identity and value objects during certain set operations on dictionary views. The leak occurs because new references are created but not properly released in specific code paths. This issue can cause server processes using these versions to consume increasing amounts of memory until termination.
A Regular Expression Denial of Service (ReDoS) vulnerability exists in soupsieve's CSS selector parsing, specifically in the IDENTIFIER and VALUE sub-patterns. The flaw causes quadratic backtracking when parsing certain user-controlled selectors that fail to match, leading to excessive CPU consumption and application stalls. This affects applications using soupsieve or BeautifulSoup's select methods with user-supplied selectors. The issue is fixed in soupsieve version 3.3.0_1.
A Regular Expression Denial of Service (ReDoS) vulnerability exists in soupsieve's whitespace/comment trimming regex RE_WS_END. The regex is used to trim trailing whitespace/comments from CSS selectors but is unanchored at the start, causing the regex engine to perform quadratic-time backtracking on valid selectors with long whitespace or comment runs. This can cause significant CPU delays (e.g., ~10 seconds for a 20 KB selector). The vulnerability affects soupsieve versions from 1.0.855 up to but not including 3.3.0_1. A fix is available in version 3.3.0_1.
A Regular Expression Denial of Service (ReDoS) vulnerability exists in soupsieve's CSS selector parser due to catastrophic backtracking in the regex pattern handling attribute selectors with unterminated quoted values. This flaw allows an attacker to cause CPU exhaustion by submitting specially crafted CSS selectors with unterminated quotes, leading to exponential regex backtracking and thread blocking. The attack requires only about 300 bytes of input and can cause the regex engine to hang for over 3 seconds. This affects applications using soupsieve versions from 1.0.855 up to but not including 3.2.530. A fix is available in version 3.2.530.
A memory exhaustion vulnerability exists in soupsieve's CSS selector parser used by Beautiful Soup 4. The parser allocates unbounded memory when compiling large comma-separated selector lists, allowing an attacker to cause denial of service by supplying a crafted CSS selector string. This can lead to out-of-memory conditions or process termination in Python applications using soupsieve. The vulnerability affects soupsieve versions from 1.0.855 up to but not including 3.2.530 and is fixed in version 3.2.530.
CVE-2024-5569 is a Denial of Service vulnerability in the jaraco/zipp library affecting all versions prior to 3.19.1. It causes an infinite loop when processing specially crafted zip files via certain Path-related functions. This flaw also impacts the zipfile module in CPython due to shared code. The infinite loop prevents application responsiveness but is not resource exhaustive. The issue is fixed in jaraco/zipp version 3.19.1.
A vulnerability in the asteval library used by Checkov allows attackers controlling input to bypass sandbox restrictions and execute arbitrary Python code. This occurs due to unsafe handling of formatted string AST nodes, enabling crafted format strings to escape the sandbox. The flaw can be exploited to access protected attributes and execute system commands. A proof-of-concept demonstrates executing the 'whoami' command on the host. The vulnerability affects Checkov versions from 3.2.420 up to but not including 3.2.490. A patch is available to remediate this issue.
The llhttp library version 8.1.1 contains two request smuggling vulnerabilities. These vulnerabilities affect aiohttp versions prior to 3.8.6 because they include the vulnerable llhttp version. The vulnerabilities are resolved by upgrading to llhttp version 9 or later, which is included in aiohttp 3.8.6 and above. The affected product Checkov uses aiohttp versions from 2.0.615 up to but not including 2.5.10, which rely on the vulnerable llhttp version. No detailed technical information or exploitation details have been disclosed yet.
A vulnerability in the asteval library used by Checkov allows attackers who can control input to bypass safety checks and execute arbitrary Python code. The flaw arises because the attribute access verification can be circumvented by modifying AST nodes at runtime, exploiting a time-of-check to time-of-use (TOCTOU) issue. Specifically, the Procedure class exposes its AST in an unprotected attribute, enabling attackers to alter the AST and access dangerous dunder methods like __getattribute__. This leads to sandbox escape and arbitrary code execution within the application's context.
pycares versions prior to 4.2.0 contain a cross-site scripting (XSS) vulnerability identified as CVE-2021-3672. This vulnerability involves improper neutralization of input during web page generation, which can lead to limited confidentiality, integrity, and availability impacts. The issue is addressed by updating to pycares version 4.2.0 or later.