HOL LogoGuard

Explore HOL

  • HOL home
  • AI agent registry
  • AI plugins
  • Open standards
  • HOL members
  • Sponsor HOL
  • Advertise with HOL

Guard product

  • Guard overviewLocal security and control for AI agents and the tools they use.
  • FeaturesRuntime protection, policy routing, review, and evidence.
  • CIGARPoint your coding agent at the right lines and cut its token bill by about a third.

Explore Guard

  • Product previewWalk through Guard surfaces in read-only demo mode.
  • ComparisonCompare Guard with native controls and AI security vendors.

AI tools

  • All AI toolsEvery supported AI tool and how Guard applies policy to it.
  • Codex
  • Claude Code
  • Cursor
  • Antigravity CLI
  • OpenCode
  • Hermes
  • OpenClaw
  • GitHub Copilot CLI
  • Antigravity
  • Kimi
  • Grok
  • Pi / Oh My Pi
  • Zcode

Extensions

  • All extensionsBrowse command and MCP coverage with owners and stated limits.
  • Command coverageShell command protection across clouds, databases, backups, and packages.
  • MCP server coverageSee how Guard maps risk state across MCP tools and servers.
  • Core safetyThe safety floor listings that ship with Guard.
  • Data and resilienceBackup and storage command protection.
  • Cloud and infrastructureAWS, Azure, GCP, Kubernetes, and more.

Security

  • AI security hubSecurity research, advisories, and agent safety coverage.
  • AI tool securitySecurity profiles for each supported coding agent.
  • Safe labsHands-on attack simulations with safe boundaries.
  • Redacted warningsReal blocked actions with sensitive details removed.
  • AdvisoriesCoordinated disclosure reports for AI tooling.
  • Active CVEsSearch active CVEs affecting AI tooling.

Learn

  • Security guidesPractical guides for securing AI agent workflows.
  • DocsInstall, configure, and operate Guard with confidence.
  • ResearchPublished security research, benchmarks, and methodology.
  • Gauntlet benchmarkGuard tested with real coding agents: safe work runs, risky actions stop.

Community

  • ReleasesVersion history, shipped changes and upgrade notes.
  • ContributorsThe people and contributions behind HOL Guard.
  • AffiliatesShare Guard with your audience and earn from referrals.
  • SponsorFund agreed research, implementation and shared testing through the HOL Partner Program.
  • AdvertiseCompare README logo placements, previews and monthly prices, or promote a plugin or extension.
PricingEnterpriseOpen AppInstall Guard
  1. Guard
  2. Security
  3. CVEs
  4. CVE 2024 45405 gix path improperly resolves configuration path
HOL Guard

Public security guidance for teams protecting AI harnesses, MCP servers, skills, prompts, and local tool execution.

Install Guard

AI Security

  • Prompt injection
  • MCP security
  • OWASP MCP mapping
  • Supply chain

Resources

  • Trust packet
  • Harness setup
  • Redacted warnings
  • Safe labs

Product

  • Install Guard
  • Pricing
  • Open dashboard

Get HOL Guard for your computer

HOL Guard is a free desktop app that watches what coding agents such as Claude Code, Codex and Cursor run, read and install, and asks you before anything risky happens.

  • Download for macOS
  • Windows download
  • Linux download

Free. macOS 13+ on Apple silicon, Windows x64, Linux AppImage. Other ways to install

Runs on
macOS 13 or later on Apple silicon, Windows x64 and Linux x86_64.
Price
Free. Paid plans add Guard Cloud for teams. See pricing
Where your data stays
On your computer. Guard Cloud is optional.
Token savings
33% to 38% lower spend across three coding agents in our CIGAR benchmark.

HOL

HOL builds open infrastructure for AI agents: HOL Guard, a directory of AI plugins and MCP servers, an AI agent registry and the open HCS standards.

  • GitHub (opens in a new tab)
  • X (Twitter) (opens in a new tab)
  • YouTube (opens in a new tab)
  • Telegram (opens in a new tab)

HOL Guard

  • What is HOL Guard
  • Features
  • Cut coding agent token costs (CIGAR)
  • Install Guard
  • Download the desktop app
  • Pricing
  • Guard for teams
  • Compare Guard
  • Release notes

Guard for your AI tool

  • Guard for Claude Code
  • Guard for Codex
  • Guard for Cursor
  • Guard for GitHub Copilot CLI
  • Guard for OpenCode
  • Guard for Pi and Oh My Pi
  • Guard for Hermes
  • Guard for OpenClaw
  • All supported AI tools

Research and security

  • Gauntlet: Guard tested with real agents
  • CIGAR token benchmark
  • Research
  • AI security hub
  • Security advisories
  • Active CVEs in AI tools
  • AI agent security guides
  • Extensions and coverage

Plugins and MCP servers

  • Browse AI plugins
  • New plugin launches
  • Best Claude Plugins
  • Best Codex Plugins
  • Best Grok Plugins
  • Best Kimi Plugins
  • Best DeepSeek Plugins
  • Best Antigravity Plugins
  • Best MCP Servers
  • Best Cursor Plugins
  • Best OpenCode Plugins

AI agent registry

  • Best AI agents
  • Best ERC-8004 agents
  • Best Virtuals agents
  • Best A2A agents
  • Best x402 payable agents
  • Submit an ERC-8004 contract
  • Feature your agent

Developers

  • Guard docs
  • Documentation index
  • Developer hub
  • Registry API reference
  • OpenAPI spec
  • Registry OpenAPI spec
  • Run in Postman (opens in a new tab)
  • HCS standards

Company

  • About HOL
  • Blog
  • Contribute to HOL
  • Guard contributors
  • Sponsor
  • Advertise
  • Affiliate program
  • Contact

Copyright © 2026 HOL DAO LLC. All rights reserved.

  • Privacy
  • Terms of Service
Back to active CVEs
Medium · CVSS 6.0CVE-2024-45405GHSA-M8RP-VV92-46C7

gix-path improperly resolves configuration path reported by GitCVE-2024-45405

Answer in brief

CVE-2024-45405 records a Medium severity (CVSS 6.0) vulnerability in gix-path improperly resolves configuration path reported by Git. The current sources do not mark it as known exploited. The current feed maps gix-path (crates.io). Check affected ranges and fixed versions before updating.

Analysis pending evidence review

HOL Guard separates source facts from reviewed analysis. See the methodology.

Published Sep 6, 2024Updated Nov 9, 2026Source checked Nov 9, 2026First seen by HOL Nov 9, 2026Material review Nov 9, 2026
Upstream Advisory

Key facts

Risk
Medium · CVSS 6.0
Exploitation
Not marked as known exploited
Affected software
1 mapped package or product
Fix availability
Available

Why this deserves its current priority

CVSS is 6.0. The current sources do not mark it as known exploited. Treat this as a source-backed prioritization signal, not a statement about your environment.

Analysis status

Analysis pending evidence review

Factual feed record only; HOL analysis is not approved for indexing. Read the methodology.

Affected scope and exposure questions

The current feed maps gix-path (crates.io). Check affected ranges and fixed versions before updating.

Mapped affected packages and fixed versions
PackageAffected rangeFixed version
gix-pathcrates.io>=0.0.0-0 <0.10.110.10.11

Recommended response

  1. 1Check inventory. Check lockfiles and deployed manifests for gix-path.
  2. 2Review the reported fix. Update gix-path to 0.10.11 if you use the affected versions. Test the change in a non-production environment first.

Evidence timeline and material changes

  1. Published upstream

    Sep 6, 2024

    Evidence: source:osv:source_dates:source-dates:record
  2. Source modified

    Nov 9, 2026

    Evidence: source:osv:source_dates:source-dates:record
  3. First seen by HOL

    Nov 9, 2026

Sources and claim methodology

  • Source referencecrates.io
  • GitHub security advisorygithub.com
  • Source referencerustsec.org
Upstream source description

### Summary `gix-path` runs `git` to find the path of a configuration file associated with the `git` installation, but improperly resolves paths containing unusual or non-ASCII characters, in rare cases enabling a local attacker to inject configuration leading to code execution. ### Details In `gix_path::env`, the underlying implementation of the `installation_config` and `installation_config_prefix` functions calls `git config -l --show-origin` to find the path of a file to treat as belonging to the `git` installation. Affected versions of `gix-path` do not pass `-z`/`--null` to cause `git` to report literal paths ([`650a1b5`](https://github.com/Byron/gitoxide/commit/650a1b5cf25e086197cc55a68525a411e1c28031)). Instead, to cover the occasional case that `git` outputs a quoted path, they attempt to parse the path by stripping the quotation marks: <https://github.com/Byron/gitoxide/blob/1cfe577d461293879e91538dbc4bbfe01722e1e8/gix-path/src/env/git/mod.rs#L138-L142> The problem is that, when a path is quoted, it may change in substantial ways beyond the concatenation of quotation marks. If not reversed, these changes can result in another valid path that is not equivalent to the original. This is not limited to paths with unusual characters such as quotation marks or newlines. Unless `git` is explicitly configured with `core.quotePath` set to `false`, it also happens when the path contains most non-ASCII characters, including accented or non-English letters. For example, `é` is transformed to `\303\251`, with literal backslashes. (This is an octal representation of the bytes in its UTF-8 encoding. This behavior is not limited to systems that encode paths with UTF-8 on disk.) Rarely, the configuration file `gix-path` wrongly attempts to open can be created by an attacker who has a limited user account on the system. The attacker would often need to request an account username tailored to carrying out the attack. ### PoC #### Quick demonstration on Unix On a Unix-like system in which Git supports no higher scope than `system` for configuration variables (i.e., not on macOS with Apple Git), in a locale that supports UTF-8, with `gitoxide` installed, run: ```sh mkdir myrepo cd myrepo git init printf '[real]\n\trealvar = realval\n' > 'é' printf '[fake]\n\tfakevar = fakeval\n' > '\303\251' GIT_CONFIG_SYSTEM='é' gix config ``` If the above conditions are satisfied and the `gix` command was built against an affected version of `gix-path`, then the last command's output looks something like this: ```text # From '\303\251' (GitInstallation) [fake] fakevar = fakeval # From 'é' (System) [real] realvar = realval # From '/home/ubuntu/.gitconfig' (User) [init] defaultBranch = main # From './.git/config' (Local) [core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true ``` #### Demonstration across user accounts on Windows On a test system running Windows on which Git for Windows is *not* installed system-wide—resembling a scenario in which users who wish to use Git are expected to install it themselves for their accounts—create two accounts, with these usernames: - *Renée*, the target of the attack. This user may be a limited user or an administrator. Its user profile directory is assumed to be `C:\Users\Renée`. - *Ren*, the user who carries out the attack. This user should be a limited user, since an administrator would not need to exploit this vulnerability to inject configuration. Its user profile directory is assumed to be `C:\Users\Ren`. As *Ren*, run these commands in PowerShell: ```powershell $d = "$HOME\303\251e\AppData\Local\Programs\Git\etc" mkdir $d git config --file $d\gitconfig core.sshCommand calc.exe icacls $HOME\303 /grant 'Renée:(RX)' /T ``` (The `gitconfig` file can instead be written manually, in which case *Ren* need not have `git`.) As *Renée*: 1. Install Git for Windows in the default location for non-systemwide installations, which for that user account is inside `C:\Users\Renée\AppData\Local\Programs`. For a non-administrative installation, Git for Windows will pick this location automatically. Allow the installer to place the directory containing `git` in the user's `PATH`, as it does by default. (The scenario can be modified for any location the attacker can predict. So, for example, *Renée* can install Git for Windows with [`scoop`](https://scoop.sh/), and *Ren* could carry out the attack with correspondingly modified path components in place of `AppData\Local\Programs\Git`.) 2. Install `gitoxide` using any common technique, such as by [installing Rust](https://www.rust-lang.org/tools/install) and then running `cargo install gitoxide`. 3. Open a PowerShell window and run a `gix` command that attempts to run the SSH client for transport. For example: ```pwsh gix clone ssh://localhost/myrepo.git ``` At least one, and usually two, instances of the Windows calculator will pop up. This happens because `calc.exe` was configured in the fake configuration file the user *Ren* was able to cause to be used, by placing it at the location `gix-path` wrongly resolved the path of *Renée*'s own configuration file to. The `gitconfig` file written by the attacker can be adjusted with an arbitrary choice of payload, or to set other configuration variables. ### Impact On a single-user system, it is not possible to exploit this, unless `GIT_CONFIG_SYSTEM` and `GIT_CONFIG_GLOBAL` have been set to unusual values or Git has been installed in an unusual way. Such a scenario is not expected. Exploitation is unlikely even on a multi-user system, though it is plausible in some uncommon configurations or use cases. It is especially unlikely with Apple Git on macOS, due to its very high scoped configuration in `/Library` or `/Applications` that would be detected instead, as in [CVE-2024-45305](https://github.com/advisories/GHSA-v26r-4c9c-h3j6). The likelihood of exploitation may be higher on Windows, where attacks such as those shown in the Windows proof-of-concept above can be performed due to the status of `\` as a directory separator, and where there is no restriction on usernames containing accented or non-English letters (though the latter is also permitted on some other systems). Even then, complex user interaction is required. In most cases, a system administrator would have to approve an innocuous-seeming username, and then the targeted user (who could be the same or a different user) would have to use an application that uses `gix-path`. In general, exploitation is more likely to succeed if at least one of the following applies: - Users are expected to install `git` themselves, and are likely to do so in predictable locations. - Locations where `git` is installed, whether due to usernames in their paths or otherwise, contain characters that `git` quotes by default in paths, such as non-English letters and accented letters. - A custom `system`-scope configuration file is specified with the `GIT_CONFIG_SYSTEM` environment variable, and its path is in an unusual location or has strangely named components. - A `system`-scope configuration file is absent, empty, or suppressed by means other than `GIT_CONFIG_NOSYSTEM`. Currently, `gix-path` can treat a `global`-scope configuration file as belonging to the installation if no higher scope configuration file is available. This increases the likelihood of exploitation even on a system where `git` is installed system-wide in an ordinary way. However, exploitation is expected to be very difficult even under any combination of those factors. Although the effect here is similar to [CVE-2022-24765](https://github.com/git-for-windows/git/security/advisories/GHSA-vw2c-22j4-2fh2) once exploited, a greater degree of user interaction would usually be required, and the attack complexity here is much higher because the necessary conditions are uncommon and challenging to predict.

Quoted source text, attributed separately from HOL analysis.

Record context

Vulnerability class
Vulnerability
EPSS
Not reported
CWE IDs
Not reported
Source
OSV
Source checked
Nov 9, 2026
References
3 linked sources
Open source record