Critical security advisoryCriticalFlagged by our vulnerability database: PHP2Shell is on CISA’s exploited list. Most WordPress hosting runs PHP. See if your site is affectedFlagged by our vulnerability database: PHP2Shell is being exploited. DetailsExploited: PHP2Shell. Check your site
HuttenlocherTechnologies
Updated 3 h ago

Vulnerability database

Every flaw the U.S. government’s cybersecurity agency (CISA) has confirmed attackers are using, plus the new WordPress plugin and theme bugs published each day, sorted by what they mean for a small business. We refresh it twice a day. If you see something your website or office runs, tell us.

1,762exploited flaws on CISA’s list
34added in the last 30 days
333new WordPress flaws this week
390,007entries in the database

44 results

  • Oct 21, 2026GitPython is a python library used to interact with Git repositories.CVE-2026-114145 · Other software · gitpython-developers · reported by GitHubHigh 7.5

    GitPython is a python library used to interact with Git repositories. Prior to 3.2.1, create_submodule() in git/objects/submodule/base.py accepts an attacker-influenced submodule path such as .git/hooks and invokes _clone_repo() before safely rejecting the destination. In 3.1.x, _validate_repo_path() does not exist and the call succeeds silently, while in 3.2.0 and later affected revisions the check in git/index/base.py raises ValueError only after the clone has written to disk and does not remove the planted file. An attacker-controlled submodule can therefore place an executable post-checkout hook that a later Git operation executes. Exploitation requires an application to accept an untrusted submodule path and a clone destination such as .git/hooks that is empty enough for Git to clone into it, which commonly means that default sample hooks are absent. This issue is fixed in version 3.2.1.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 14, 2026GitPython from 3.1.62 before 3.2.0 contains a symlink-following flaw in Submodule.move(), which checks the destination only lexically and does not reject symbolCVE-2026-110860 · Other software · gitpython-developers · reported by VulnCheckMedium 6.9

    GitPython from 3.1.62 before 3.2.0 contains a symlink-following flaw in Submodule.move(), which checks the destination only lexically and does not reject symbolic links in intermediate path components. An untrusted repository can commit a symlink such as vendor pointing outside the worktree, so an application moving an initialized submodule beneath it relocates the checkout externally and corrupts the index and .gitmodules.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 14, 2026GitPython before 3.2.0 contains an argument injection vulnerability in Head.checkout() that allows remote attackers to read arbitrary files by supplying a brancCVE-2026-110859 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.2.0 contains an argument injection vulnerability in Head.checkout() that allows remote attackers to read arbitrary files by supplying a branch name parsed as a git option. Attackers can host a repository whose default branch is named --pathspec-from-file=<path>, causing cloning applications that check out the active branch to leak file contents through GitCommandError messages.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 14, 2026GitPython from 3.1.30 before 3.2.0 contains a remote code execution vulnerability in Remote.pull() whose unsafe-option guard inspects only keyword arguments, noCVE-2026-110858 · Other software · gitpython-developers · reported by VulnCheckCritical 9.2

    GitPython from 3.1.30 before 3.2.0 contains a remote code execution vulnerability in Remote.pull() whose unsafe-option guard inspects only keyword arguments, not the positional refspec. Attackers controlling the refspec can supply --upload-pack=<command> to execute OS commands as the calling process over local-path or SSH transports.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 14, 2026GitPython before 3.2.0 contains a remote code execution vulnerability that allows attackers to run commands because Git.ls_remote forwards URLs without check_unCVE-2026-110857 · Other software · gitpython-developers · reported by VulnCheckHigh 7.7

    GitPython before 3.2.0 contains a remote code execution vulnerability that allows attackers to run commands because Git.ls_remote forwards URLs without check_unsafe_protocols validation. Attackers can supply ext:: remote-helper URLs to execute commands when git permits the ext transport, while merge_base and IndexFile.move also accept unguarded option injection.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 14, 2026GitPython before 3.2.0 contains a regular expression denial of service vulnerability in the _re_actor_epoch pattern used by parse_actor_and_date on author, commCVE-2026-110856 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.2.0 contains a regular expression denial of service vulnerability in the _re_actor_epoch pattern used by parse_actor_and_date on author, committer, and tagger lines. Attackers can serve repositories with commit or tag objects containing long space-filled lines lacking a valid epoch or timezone, causing quadratic backtracking and CPU exhaustion.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Oct 14, 2026GitPython before 3.2.0 contains an information disclosure vulnerability that allows malicious repositories to expand environment variables via separate_git_dir CVE-2026-110855 · Other software · gitpython-developers · reported by VulnCheckHigh 7.1

    GitPython before 3.2.0 contains an information disclosure vulnerability that allows malicious repositories to expand environment variables via separate_git_dir in Repo._clone(), which omits expand_vars=False when calling Git.polish_url(). Attackers can craft a .gitmodules submodule name containing variable syntax so that clone plus submodule_update exposes secrets in .git/modules directory names and DEBUG logs.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Sep 26, 2026GitPython before 3.1.62 does not validate the `path` field read from an untrusted .gitmodules file when updating submodules.CVE-2026-100689 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.1.62 does not validate the `path` field read from an untrusted .gitmodules file when updating submodules. While a prior fix (GHSA-hmq2-w58f-27jc) added Submodule._validated_name() to constrain the `name` field, and GitPython's own containment guard Submodule._to_relative_path() is applied in add() and move(), Submodule.update() derives the absolute checkout location from the raw `path` value without that guard. A .gitmodules entry containing directory traversal components (e.g., path = ../../../tmp/escaped) can therefore cause directories to be created via os.makedirs() outside the repository working tree, populated from the submodule URL on the clone path, and removed via shutil.rmtree() when force_remove is used. Exploitation requires an application flow that updates submodules at a non-HEAD commit (such as a historical-commit API); the common clone-then-update flow re-derives the path from a canonical tree lookup and is not affected. The issue is fixed in GitPython 3.1.62.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Sep 9, 2026GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fieldCVE-2026-87819 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.1.60 contains a regular expression denial of service vulnerability in Actor.name_email_regex that processes commit author and committer fields. Attackers can craft a commit object with a malformed author field containing an unterminated angle bracket to cause quadratic backtracking, exhausting CPU resources for over two minutes per commit access.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Sep 9, 2026GitPython 3.1.59 fails to restrict the --no-index option in the high-level diff API, allowing attackers to read arbitrary filesystem paths as repository operandCVE-2026-87818 · Other software · gitpython-developers · reported by VulnCheckHigh 7.1

    GitPython 3.1.59 fails to restrict the --no-index option in the high-level diff API, allowing attackers to read arbitrary filesystem paths as repository operands. Attackers can combine --no-index with -I/--ignore-matching-lines to create a content-dependent Boolean oracle, repeatedly querying local files to recover single-line secrets through distinguishable success or error responses.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Sep 9, 2026GitPython before 3.1.60 fails to properly validate the git directory location, allowing attackers to impersonate the git directory using tracked files like gitdCVE-2026-87817 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.1.60 fails to properly validate the git directory location, allowing attackers to impersonate the git directory using tracked files like gitdir, commondir, and HEAD. Attackers can execute arbitrary code by placing a malicious pre-commit hook in the tracked hooks directory that executes when a victim calls index.commit() on a cloned or opened repository.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 24, 2026GitPython before 3.1.59 contains an arbitrary file read vulnerability in TagReference.create() where a positional reference parameter bypasses the unsafe optionCVE-2026-78679 · Other software · gitpython-developers · reported by VulnCheckHigh 7.1

    GitPython before 3.1.59 contains an arbitrary file read vulnerability in TagReference.create() where a positional reference parameter bypasses the unsafe option guard. Attackers can supply a reference value like --file=<path> to read arbitrary files, with contents returned in the annotated tag message.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 24, 2026GitPython versions before 3.1.59 contain an incomplete denylist in the unsafe_git_revision_options guard that omits --contents and -S options, allowing attackerCVE-2026-78678 · Other software · gitpython-developers · reported by VulnCheckHigh 7.1

    GitPython versions before 3.1.59 contain an incomplete denylist in the unsafe_git_revision_options guard that omits --contents and -S options, allowing attackers to read arbitrary files by passing these options to Repo.blame(). Attackers can supply revision values like --contents=/etc/passwd to leak file contents through the blame result returned to the caller.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 24, 2026GitPython before 3.1.59 omits --separate-git-dir from unsafe_git_clone_options, allowing attackers to create arbitrary git directories outside the intended clonCVE-2026-78677 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.1.59 omits --separate-git-dir from unsafe_git_clone_options, allowing attackers to create arbitrary git directories outside the intended clone destination. Attackers can pass a separate_git_dir parameter to Repo.clone_from() or Repo.clone() to redirect repository metadata to an attacker-controlled filesystem path, enabling arbitrary directory creation and potential hook execution.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 24, 2026GitPython before 3.1.59 fails to safely re-serialize multi-line git-config values during write operations, corrupting dormant quoted values into injected directCVE-2026-78676 · Other software · gitpython-developers · reported by VulnCheckCritical 9.3

    GitPython before 3.1.59 fails to safely re-serialize multi-line git-config values during write operations, corrupting dormant quoted values into injected directives like core.hooksPath. Attackers can craft config files with embedded newlines that become live git directives after any unrelated GitPython config write, enabling arbitrary code execution via hook invocation.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 24, 2026GitPython before 3.1.59 fails to disable merge_includes when parsing .gitmodules, allowing attackers to disclose local file content by including arbitrary file CVE-2026-78675 · Other software · gitpython-developers · reported by VulnCheckHigh 8.6

    GitPython before 3.1.59 fails to disable merge_includes when parsing .gitmodules, allowing attackers to disclose local file content by including arbitrary file paths via [include] directives. Attackers can craft a malicious .gitmodules file with include directives pointing to sensitive files; when repo.submodules is accessed, GitConfigParser raises MissingSectionHeaderError embedding the target file's first line verbatim in the exception message.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 19, 2026GitPython before 3.1.58 fails to validate submodule names from .gitmodules files, allowing attackers to create Git repositories at arbitrary filesystem paths ouCVE-2026-76222 · Other software · gitpython-developers · reported by VulnCheckHigh 8.4

    GitPython before 3.1.58 fails to validate submodule names from .gitmodules files, allowing attackers to create Git repositories at arbitrary filesystem paths outside the intended clone directory. Attackers can craft malicious repositories with traversal sequences in submodule names that GitPython processes during submodule initialization, creating attacker-controlled Git repositories at escaped filesystem locations.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 19, 2026GitPython before 3.1.58 contains a config-name injection vulnerability in the option-name validator that allows attackers to forge arbitrary git-config directivCVE-2026-76221 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.1.58 contains a config-name injection vulnerability in the option-name validator that allows attackers to forge arbitrary git-config directives by injecting equals signs, hash symbols, and whitespace into option names. Attackers can inject malicious option names like 'sshCommand = touch /tmp/RCE #' to execute arbitrary commands via core.sshCommand or core.hooksPath on the next git operation.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 19, 2026GitPython before 3.1.58 contains a command execution vulnerability in the check_unsafe_options guard that can be bypassed by combining a single-character kwarg CVE-2026-76220 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.1.58 contains a command execution vulnerability in the check_unsafe_options guard that can be bypassed by combining a single-character kwarg with split_single_char_options=False. Attackers can supply a crafted kwargs dictionary to guarded methods like clone_from to emit a joined token parsed as --upload-pack, enabling arbitrary OS command execution at default allow_unsafe_options=False.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 19, 2026GitPython versions before 3.1.58 contain an arbitrary file overwrite vulnerability in IndexFile.from_tree, IndexFile.reset, and IndexFile.merge_tree methods thaCVE-2026-76219 · Other software · gitpython-developers · reported by VulnCheckHigh 7.2

    GitPython versions before 3.1.58 contain an arbitrary file overwrite vulnerability in IndexFile.from_tree, IndexFile.reset, and IndexFile.merge_tree methods that append caller-influenced treeish strings to git read-tree without option validation or argument separation. Attackers can inject the --index-output option to overwrite arbitrary files with a valid git-index blob, destroying existing file content at attacker-controlled writable paths.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 19, 2026GitPython before 3.1.58 contains a remote code execution vulnerability in Repo.init that forwards unsafe git options without validation.CVE-2026-76218 · Other software · gitpython-developers · reported by VulnCheckHigh 7.7

    GitPython before 3.1.58 contains a remote code execution vulnerability in Repo.init that forwards unsafe git options without validation. Attackers can supply a template parameter pointing to a directory with malicious git hooks that execute arbitrary code when git operations are performed on the initialized repository.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 19, 2026GitPython versions before 3.1.58 fail to validate options passed to git rm and git checkout commands in IndexFile.remove() and Head.checkout().CVE-2026-76217 · Other software · gitpython-developers · reported by VulnCheckHigh 7.1

    GitPython versions before 3.1.58 fail to validate options passed to git rm and git checkout commands in IndexFile.remove() and Head.checkout(). Attackers can supply --pathspec-from-file and --pathspec-file-nul parameters to read arbitrary files accessible to the process, with full file contents returned in GitCommandError.stderr.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 13, 2026GitPython versions before 3.1.54 contain a remote code execution vulnerability in the check_unsafe_options guard that can be bypassed by smuggling git options iCVE-2026-73625 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython versions before 3.1.54 contain a remote code execution vulnerability in the check_unsafe_options guard that can be bypassed by smuggling git options inside single-character kwarg values. Attackers can supply crafted option dictionaries to clone_from, fetch, pull, push, ls_remote, iter_commits, blame, or archive methods to execute arbitrary OS commands via the --upload-pack parameter.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 13, 2026GitPython versions before 3.1.54 contain an arbitrary file overwrite vulnerability in the Diffable.diff method that fails to validate git options passed throughCVE-2026-73624 · Other software · gitpython-developers · reported by VulnCheckHigh 7.2

    GitPython versions before 3.1.54 contain an arbitrary file overwrite vulnerability in the Diffable.diff method that fails to validate git options passed through kwargs. Attackers can supply the --output argument via the other parameter or output kwarg to write patch content to attacker-chosen file paths at process privilege level.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 13, 2026GitPython before 3.1.54 contains an incomplete denylist in unsafe_git_clone_options that omits --template, allowing attackers to achieve arbitrary command execuCVE-2026-73623 · Other software · gitpython-developers · reported by VulnCheckHigh 7.7

    GitPython before 3.1.54 contains an incomplete denylist in unsafe_git_clone_options that omits --template, allowing attackers to achieve arbitrary command execution during clone operations. Attackers can supply --template pointing to a directory containing malicious post-checkout hooks that execute when git clones the repository.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 13, 2026GitPython before 3.1.55 fails to disable environment variable expansion in Remote.create() and Submodule.add() URL handling, allowing attackers to exfiltrate seCVE-2026-73622 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.1.55 fails to disable environment variable expansion in Remote.create() and Submodule.add() URL handling, allowing attackers to exfiltrate secrets by supplying URLs containing variable references. Attackers can craft URLs with environment variable tokens that are expanded into .git/config and .gitmodules, then transmitted to attacker-controlled hosts during fetch or pull operations.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 13, 2026GitPython before 3.1.56 contains an argument injection vulnerability in the Commit.count() method, which forwards keyword arguments to 'git rev-list' without thCVE-2026-73621 · Other software · gitpython-developers · reported by VulnCheckMedium 5.3

    GitPython before 3.1.56 contains an argument injection vulnerability in the Commit.count() method, which forwards keyword arguments to 'git rev-list' without the check_unsafe_options guard present in the sibling iter_items method. An attacker who can control options passed to Commit.count (e.g., via an application that forwards a user-supplied options dict) can supply output=<path>, causing 'git rev-list --output=<path>' to open and truncate the target file to zero bytes before revision parsing. This allows destruction/blanking of an arbitrary file at the process's privilege level (no content control, 0-byte truncation).

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 13, 2026GitPython before 3.1.57 fails to guard git option forwarding in IndexFile.checkout() and TagReference.create(), allowing attackers to pass unsafe options via kwCVE-2026-73620 · Other software · gitpython-developers · reported by VulnCheckHigh 7.2

    GitPython before 3.1.57 fails to guard git option forwarding in IndexFile.checkout() and TagReference.create(), allowing attackers to pass unsafe options via kwargs. Attackers can use --prefix to overwrite arbitrary files with repository content or -F to read arbitrary files returned in-band.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 13, 2026GitPython before 3.1.57 contains an incomplete denylist in the unsafe_git_archive_options guard that omits --add-file and --add-virtual-file options.CVE-2026-73619 · Other software · gitpython-developers · reported by VulnCheckHigh 7.1

    GitPython before 3.1.57 contains an incomplete denylist in the unsafe_git_archive_options guard that omits --add-file and --add-virtual-file options. Attackers can supply these options to Repo.archive() to read arbitrary files from the filesystem and include them in the returned archive.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 3, 2026GitPython before 3.1.53 fails to properly escape section names in git config files, allowing attackers to inject arbitrary configuration directives through maliCVE-2026-69097 · Other software · gitpython-developers · reported by VulnCheckHigh 7.3

    GitPython before 3.1.53 fails to properly escape section names in git config files, allowing attackers to inject arbitrary configuration directives through malicious submodule names. Attackers can inject core.sshCommand or other dangerous config keys into the victim's .git/config via create_submodule or clone_from operations, achieving remote code execution when git performs ssh operations.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 1, 2026GitPython before 3.1.50 fails to validate newline characters in the section parameter of config_writer(), allowing attackers to inject arbitrary section headersCVE-2026-67326 · Other software · gitpython-developers · reported by VulnCheckHigh 7.3

    GitPython before 3.1.50 fails to validate newline characters in the section parameter of config_writer(), allowing attackers to inject arbitrary section headers into .git/config. Attackers can inject newlines to create a forged [core] section with hooksPath pointing to attacker-controlled directories, achieving remote code execution when git hooks are triggered.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 1, 2026GitPython before 3.1.51 contains an incomplete command injection blocklist that fails to account for git's long-option prefix abbreviation feature.CVE-2026-67325 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.1.51 contains an incomplete command injection blocklist that fails to account for git's long-option prefix abbreviation feature. Attackers can bypass the unsafe options guard by using abbreviated option names like upload_p instead of upload_pack, which git resolves to dangerous options and executes arbitrary commands.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 1, 2026GitPython 3.1.50 fails to recognize joined short-option forms such as -u<value> (the short form of --upload-pack=<value>) when enforcing its default unsafe-optiCVE-2026-67324 · Other software · gitpython-developers · reported by VulnCheckCritical 9.3

    GitPython 3.1.50 fails to recognize joined short-option forms such as -u<value> (the short form of --upload-pack=<value>) when enforcing its default unsafe-option gate. When an application passes attacker-influenced clone options into Repo.clone_from(..., multi_options=..., allow_unsafe_options=False), an attacker can supply -u<helper> to bypass the gate that blocks --upload-pack/-u, causing Git to execute the specified helper command during clone. Fixed in 3.1.51.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 1, 2026GitPython before 3.1.51 fails to guard against dangerous Git options passed as keyword arguments in Repo.archive() and git.ls_remote(), allowing command injectiCVE-2026-67323 · Other software · gitpython-developers · reported by VulnCheckHigh 8.6

    GitPython before 3.1.51 fails to guard against dangerous Git options passed as keyword arguments in Repo.archive() and git.ls_remote(), allowing command injection via options such as --exec/--upload-pack (leading to arbitrary command execution). Additionally, Repo.iter_commits() and Repo.blame() do not check for leading-dash revision arguments, so a revision like --output=<path> can cause Git to open and truncate an arbitrary file. Exploitation requires an application that passes attacker-controlled arguments to these methods.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 1, 2026GitPython before 3.1.52 is vulnerable to environment-variable exfiltration in Repo.clone_from().CVE-2026-67322 · Other software · gitpython-developers · reported by VulnCheckHigh 8.7

    GitPython before 3.1.52 is vulnerable to environment-variable exfiltration in Repo.clone_from(). The caller-supplied remote URL is passed through Git.polish_url(), which on non-Cygwin platforms calls os.path.expandvars() on the URL before invoking git clone. An attacker who controls the clone URL can embed $NAME or ${NAME} tokens that are expanded to the values of the hosting process's environment variables (e.g., AWS_SECRET_ACCESS_KEY or GITHUB_TOKEN). The resulting URL, now containing the secret, is transmitted over the network to an attacker-controlled host during the clone attempt, disclosing the secret.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • May 7, 2026GitPython is a python library used to interact with Git repositories.CVE-2026-44244 · Other software · gitpython-developers · reported by GitHubHigh 7.8

    GitPython is a python library used to interact with Git repositories. Prior to version 3.1.49, GitConfigParser.set_value() passes values to Python's configparser without validating for newlines. GitPython's own _write() converts embedded newlines into indented continuation lines (e.g. \n becomes \n\t), but Git still accepts an indented [core] stanza as a section header — so the injected core.hooksPath becomes effective configuration. Any Git operation that invokes hooks (commit, merge, checkout) will then execute scripts from the attacker-controlled path. This issue has been patched in version 3.1.49.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • May 7, 2026GitPython is a python library used to interact with Git repositories.CVE-2026-44243 · Other software · gitpython-developers · reported by GitHubHigh 7.8

    GitPython is a python library used to interact with Git repositories. Prior to version 3.1.48, a vulnerability in GitPython allows attackers who can supply a crafted reference path to an application using GitPython to write, overwrite, move, or delete files outside the repository’s .git directory via insufficient validation of reference paths in reference creation, rename, and delete operations. This issue has been patched in version 3.1.48.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • May 7, 2026GitPython is a python library used to interact with Git repositories.CVE-2026-42284 · Other software · gitpython-developers · reported by GitHubHigh 8.1

    GitPython is a python library used to interact with Git repositories. Prior to version 3.1.47, _clone() validates multi_options as the original list, then executes shlex.split(" ".join(multi_options)). A string like "--branch main --config core.hooksPath=/x" passes validation (starts with --branch), but after split becomes ["--branch", "main", "--config", "core.hooksPath=/x"]. Git applies the config and executes attacker hooks during clone. This issue has been patched in version 3.1.47.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • May 7, 2026GitPython is a python library used to interact with Git repositories.CVE-2026-42215 · Other software · gitpython-developers · reported by GitHubHigh 8.8

    GitPython is a python library used to interact with Git repositories. From version 3.1.30 to before version 3.1.47, GitPython blocks dangerous Git options such as --upload-pack and --receive-pack by default, but the equivalent Python kwargs upload_pack and receive_pack bypass that check. If an application passes attacker-controlled kwargs into Repo.clone_from(), Remote.fetch(), Remote.pull(), or Remote.push(), this leads to arbitrary command execution even when allow_unsafe_options is left at its default value of False. This issue has been patched in version 3.1.47.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Jan 10, 2024GitPython is a python library used to interact with Git repositories.CVE-2024-22190 · Other software · gitpython-developers · reported by GitHubHigh 7.8

    GitPython is a python library used to interact with Git repositories. There is an incomplete fix for CVE-2023-40590. On Windows, GitPython uses an untrusted search path if it uses a shell to run `git`, as well as when it runs `bash.exe` to interpret hooks. If either of those features are used on Windows, a malicious `git.exe` or `bash.exe` may be run from an untrusted repository. This issue has been patched in version 3.1.41.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 30, 2023GitPython is a python library used to interact with Git repositories.CVE-2023-41040 · Other software · gitpython-developers · reported by GitHubMedium 4

    GitPython is a python library used to interact with Git repositories. In order to resolve some git references, GitPython reads files from the `.git` directory, in some places the name of the file being read is provided by the user, GitPython doesn't check if this file is located outside the `.git` directory. This allows an attacker to make GitPython read any file from the system. This vulnerability is present in https://github.com/gitpython-developers/GitPython/blob/1c8310d7cae144f74a671cbe17e51f63a830adbf/git/refs/symbolic.py#L174-L175. That code joins the base directory with a user given string without checking if the final path is located outside the base directory. This vulnerability cannot be used to read the contents of files but could in theory be used to trigger a denial of service for the program. This issue has been addressed in version 3.1.37.

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 28, 2023 GitPython is a python library used to interact with Git repositories.CVE-2023-40590 · Other software · gitpython-developers · reported by GitHubHigh 7.8

    GitPython is a python library used to interact with Git repositories. When resolving a program, Python/Windows look for the current working directory, and after that the PATH environment. GitPython defaults to use the `git` command, if a user runs GitPython from a repo has a `git.exe` or `git` executable, that program will be run instead of the one in the user's `PATH`. This is more of a problem on how Python interacts with Windows systems, Linux and any other OS aren't affected by this. But probably people using GitPython usually run it from the CWD of a repo. An attacker can trick a user to download a repository with a malicious `git` executable, if the user runs/imports GitPython from that directory, it allows the attacker to run any arbitrary commands. There is no fix currently available for windows users, however there are a few mitigations. 1: Default to an absolute path for the git program on Windows, like `C:\\Program Files\\Git\\cmd\\git.EXE` (default git path installation). 2: Require users to set the `GIT_PYTHON_GIT_EXECUTABLE` environment variable on Windows systems. 3: Make this problem prominent in the documentation and advise users to never run GitPython from an unt

    Product
    GitPython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Aug 11, 2023GitPython before 3.1.32 does not block insecure non-multi options in clone and clone_from.CVE-2023-40267 · Other software · Gitpython Project · reported by MITRECritical 9.8

    GitPython before 3.1.32 does not block insecure non-multi options in clone and clone_from. NOTE: this issue exists because of an incomplete fix for CVE-2022-24439.

    Product
    Gitpython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.
  • Dec 6, 2022All versions of package gitpython are vulnerable to Remote Code Execution (RCE) due to improper user input validation, which makes it possible to inject a malicCVE-2022-24439 · Other software · Gitpython Project · reported by report@snyk.ioHigh 8.1

    All versions of package gitpython are vulnerable to Remote Code Execution (RCE) due to improper user input validation, which makes it possible to inject a maliciously crafted remote URL into the clone command. Exploiting this vulnerability is possible because the library makes external calls to git without sufficient sanitization of input arguments.

    Product
    Gitpython
    What to do
    Apply the vendor’s update. The NVD record links to the advisory.

Where this comes from: the exploited list is CISA’s Known Exploited Vulnerabilities catalog. Everything else is the whole National Vulnerability Database, where each record is published by the team that found the bug (Wordfence, Patchstack, WPScan, the vendors themselves and others); we show who. Exploit odds are FIRST’s EPSS, updated daily. Titles and categories are ours, so check the linked record before acting on a detail. For a write-up of the big ones, see our advisories. Every vendor, and every WordPress plugin and theme with a recorded flaw, also has its own page. All of it is free to reuse as JSON, CSV or RSS.

Weekly security brief

The flaws that hit local websites, every Friday.

One short email: what got exploited this week, which WordPress plugins broke, and what to check. Unsubscribe in one click.

Get in touch

Tell us what you're building.

A website, your marketing, a security check, an app, or the thing you've been running out of a spreadsheet for three years. A few lines is plenty.

01The person who'll do the work writes back
02A short call, then a written plan with the price
03Nothing starts until you say yes
04Hacked or down right now? Call, and we pick up the same day
843-331-6339

Not ready to talk yet? Run the free website check and see what Google sees.

What do you need?
Build
Grow
Protect
Urgent

No newsletter, no sales sequence. Just a reply.