CVE-2022-24826 Vulnerability Analysis & Exploit Details

CVE-2022-24826
Vulnerability Scoring

9.8
/10
Critical Risk

As a catastrophic security flaw, CVE-2022-24826 has severe implications, demanding immediate intervention.

Attack Complexity Details

  • Attack Complexity: Low
    Exploits can be performed without significant complexity or special conditions.
  • Attack Vector: Network
    Vulnerability is exploitable over a network without physical access.
  • Privileges Required: None
    No privileges are required for exploitation.
  • Scope: Unchanged
    Exploit remains within the originally vulnerable component.
  • User Interaction: None
    No user interaction is necessary for exploitation.

CVE-2022-24826 Details

Status: Modified

Last updated: 🕡 21 Nov 2024, 06:51 UTC
Originally published on: 🕛 20 Apr 2022, 00:16 UTC

Time between publication and last update: 946 days

CVSS Release: version 3

CVSS3 Source

security-advisories@github.com

CVSS3 Type

Secondary

CVSS3 Vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H

CVE-2022-24826 Vulnerability Summary

CVE-2022-24826: On Windows, if Git LFS operates on a malicious repository with a `..exe` file as well as a file named `git.exe`, and `git.exe` is not found in `PATH`, the `..exe` program will be executed, permitting the attacker to execute arbitrary code. This does not affect Unix systems. Similarly, if the malicious repository contains files named `..exe` and `cygpath.exe`, and `cygpath.exe` is not found in `PATH`, the `..exe` program will be executed when certain Git LFS commands are run. More generally, if the current working directory contains any file with a base name of `.` and a file extension from `PATHEXT` (except `.bat` and `.cmd`), and also contains another file with the same base name as a program Git LFS intends to execute (such as `git`, `cygpath`, or `uname`) and any file extension from `PATHEXT` (including `.bat` and `.cmd`), then, on Windows, when Git LFS attempts to execute the intended program the `..exe`, `..com`, etc., file will be executed instead, but only if the intended program is not found in any directory listed in `PATH`. The vulnerability occurs because when Git LFS detects that the program it intends to run does not exist in any directory listed in `PATH` then Git LFS passes an empty string as the executable file path to the Go `os/exec` package, which contains a bug such that, on Windows, it prepends the name of the current working directory (i.e., `.`) to the empty string without adding a path separator, and as a result searches in that directory for a file with the base name `.` combined with any file extension from `PATHEXT`, executing the first one it finds. (The reason `..bat` and `..cmd` files are not executed in the same manner is that, although the Go `os/exec` package tries to execute them just as it does a `..exe` file, the Microsoft Win32 API `CreateProcess()` family of functions have an undocumented feature in that they apparently recognize when a caller is attempting to execute a batch script file and instead run the `cmd.exe` command interpreter, passing the full set of command line arguments as parameters. These are unchanged from the command line arguments set by Git LFS, and as such, the intended program's name is the first, resulting in a command line like `cmd.exe /c git`, which then fails.) Git LFS has resolved this vulnerability by always reporting an error when a program is not found in any directory listed in `PATH` rather than passing an empty string to the Go `os/exec` package in this case. The bug in the Go `os/exec` package has been reported to the Go project and is expected to be patched after this security advisory is published. The problem was introduced in version 2.12.1 and is patched in version 3.1.3. Users of affected versions should upgrade to version 3.1.3. There are currently no known workarounds at this time.

Assessing the Risk of CVE-2022-24826

Access Complexity Graph

The exploitability of CVE-2022-24826 depends on two key factors: attack complexity (the level of effort required to execute an exploit) and privileges required (the access level an attacker needs).

Exploitability Analysis for CVE-2022-24826

With low attack complexity and no required privileges, CVE-2022-24826 is an easy target for cybercriminals. Organizations should prioritize immediate mitigation measures to prevent unauthorized access and data breaches.

Understanding AC and PR

A lower complexity and fewer privilege requirements make exploitation easier. Security teams should evaluate these aspects to determine the urgency of mitigation strategies, such as patch management and access control policies.

Attack Complexity (AC) measures the difficulty in executing an exploit. A high AC means that specific conditions must be met, making an attack more challenging, while a low AC means the vulnerability can be exploited with minimal effort.

Privileges Required (PR) determine the level of system access necessary for an attack. Vulnerabilities requiring no privileges are more accessible to attackers, whereas high privilege requirements limit exploitation to authorized users with elevated access.

CVSS Score Breakdown Chart

Above is the CVSS Sub-score Breakdown for CVE-2022-24826, illustrating how Base, Impact, and Exploitability factors combine to form the overall severity rating. A higher sub-score typically indicates a more severe or easier-to-exploit vulnerability.

CIA Impact Analysis

Below is the Impact Analysis for CVE-2022-24826, showing how Confidentiality, Integrity, and Availability might be affected if the vulnerability is exploited. Higher values usually signal greater potential damage.

  • Confidentiality: High
    Exploiting CVE-2022-24826 can result in unauthorized access to sensitive data, severely compromising data privacy.
  • Integrity: High
    CVE-2022-24826 could allow unauthorized modifications to data, potentially affecting system reliability and trust.
  • Availability: High
    CVE-2022-24826 can disrupt system operations, potentially causing complete denial of service (DoS).

Exploit Prediction Scoring System (EPSS)

The EPSS score estimates the probability that this vulnerability will be exploited in the near future.

EPSS Score: 0.081% (probability of exploit)

EPSS Percentile: 37.55% (lower percentile = lower relative risk)
This vulnerability is less risky than approximately 62.45% of others.

CVE-2022-24826 References

External References

CWE Common Weakness Enumeration

CWE-426

CAPEC Common Attack Pattern Enumeration and Classification

  • Leveraging/Manipulating Configuration File Search Paths CAPEC-38 This pattern of attack sees an adversary load a malicious resource into a program's standard path so that when a known command is executed then the system instead executes the malicious component. The adversary can either modify the search path a program uses, like a PATH variable or classpath, or they can manipulate resources on the path to point to their malicious components. J2EE applications and other component based applications that are built from multiple binaries can have very long list of dependencies to execute. If one of these libraries and/or references is controllable by the attacker then application controls can be circumvented by the attacker.

Vulnerable Configurations

  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:2.12.1:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:2.12.1:*:*:*:*:*:*:*
  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:2.13.0:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:2.13.0:*:*:*:*:*:*:*
  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:2.13.1:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:2.13.1:*:*:*:*:*:*:*
  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:2.13.2:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:2.13.2:*:*:*:*:*:*:*
  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:2.13.3:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:2.13.3:*:*:*:*:*:*:*
  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.0.0:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.0.0:*:*:*:*:*:*:*
  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.0.1:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.0.1:*:*:*:*:*:*:*
  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.0.2:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.0.2:*:*:*:*:*:*:*
  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.1.0:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.1.0:*:*:*:*:*:*:*
  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.1.1:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.1.1:*:*:*:*:*:*:*
  • cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.1.2:*:*:*:*:*:*:*
    cpe:2.3:a:git_large_file_storage_project:git_large_file_storage:3.1.2:*:*:*:*:*:*:*

Protect Your Infrastructure against CVE-2022-24826: Combat Critical CVE Threats

Stay updated with real-time CVE vulnerabilities and take action to secure your systems. Enhance your cybersecurity posture with the latest threat intelligence and mitigation techniques. Develop the skills necessary to defend against CVEs and secure critical infrastructures. Join the top cybersecurity professionals safeguarding today's infrastructures.

Other 5 Recently Published CVEs Vulnerabilities

  • CVE-2025-46328 – snowflake-connector-nodejs is a NodeJS driver for Snowflake. Versions starting from 1.10.0 to before 2.0.4, are vulnerable to a Time-of-Check to Ti...
  • CVE-2025-46327 – gosnowflake is the Snowflake Golang driver. Versions starting from 1.7.0 to before 1.13.3, are vulnerable to a Time-of-Check to Time-of-Use (TOCTOU...
  • CVE-2025-46326 – snowflake-connector-net is the Snowflake Connector for .NET. Versions starting from 2.1.2 to before 4.4.1, are vulnerable to a Time-of-Check to Tim...
  • CVE-2025-4039 – A vulnerability was found in PHPGurukul Rail Pass Management System 1.0. It has been rated as critical. Affected by this issue is some unknown func...
  • CVE-2025-4038 – A vulnerability was found in code-projects Train Ticket Reservation System 1.0. It has been declared as critical. Affected by this vulnerability is...