basicsecurity.net
Proof, not just disclosure.
Threats / Git / CVE-2025-48384
CVE-2025-48384 · EUVD no mirror located · GCVE no mirror located Verified 2026-06-22

Git vulnerability

Git contains a link following vulnerability due to inconsistent handling of carriage return characters in configuration files, enabling local privilege escalation or arbitrary code execution.

Verdict

Today item — known-exploited.

A local attacker can exploit improper carriage return handling in Git configuration parsing to follow symlinks or access unintended files, potentially executing arbitrary code or escalating privileges on systems where Git processes untrusted configuration.

CISA KEV Yes · 2025-08-253EPSS 0.02775 (verify live)4Exploit Public PoC5
01

Is it exploitable?

— the evidence, ranked above the score
Exploit available
Public proof-of-concept exploit code is cataloged for this vulnerability.We link the existence of the exploit; we do not host or redistribute payloads.
Reported exploitation
8 independent public reports of in-the-wild exploitation are cataloged.Distinct reporting sources (vendor, incident response, government); open them for the underlying claims.
Exploited in the wild
Listed in the CISA Known Exploited Vulnerabilities catalog (added 2025-08-25).
CISA KEV ↗Confirmed
Probability (EPSS)
EPSS 0.02775 — modeled likelihood of exploitation activity.EPSS is a daily-changing model output — open the source for today's value.
Severity / affected
Affected: Git, Git. Confirm exact fixed builds in the vendor advisory.
NVD ↗Reported
Weakness (CWE)
Mapped to CWE-59 Link Following, CWE-436 CWE-436 — weakness family: Path traversal / file.CWE assignment from the public NVD record; the weakness class drives how the flaw is exploited.
NVD ↗Reported
WeaknessCWE-59 · Link FollowingCWE-436 · CWE-436Path traversal / file
02

Who’s exploiting it?

— attribution turns risk into urgency
Attribution not established

No confirmed (advisory-backed) threat-actor attribution is established for this record. Absence of a named actor is not absence of compromise — see Coverage & confidence.

03

Why it matters

— the attack path, told twice: adversary, then board
1

Front door — unauthenticated access narrative 1

Attacker
I craft a malicious Git configuration file with embedded carriage return characters to bypass path validation checks.
Business
An attacker gains the ability to manipulate Git's file access behavior, creating a foothold for code execution on developer workstations or CI/CD systems.
2

Keys to the kingdom — privilege/identity takeover narrative 2

Attacker
I place a symlink in a location where Git's carriage return handling causes it to follow the link to a sensitive system file.
Business
Sensitive configuration data or system files become accessible to unprivileged processes, exposing credentials or enabling further compromise.
3

Lateral reach — past segmentation narrative 3

Attacker
I leverage the file access to inject malicious commands into Git hooks or configuration that execute with the privileges of the Git process.
Business
Arbitrary code execution occurs in the context of the user running Git, potentially compromising development environments, build pipelines, or production deployments.
04

What to do

— defensible action
  • Remediate per the vendor advisory — confirm the fixed build for your version and verify exposure.1
Say it to the boardA vulnerability with this evidence profile is a defensible budget line, not a backlog ticket — fund the change against the proof above.
05

Coverage & confidence

— what we know, and what we don’t

Established (cited)

  • KEV listing (CISA)
  • EPSS probability (FIRST)
  • Public PoC available (VulnCheck)
  • 8 reported-exploitation source(s)
  • CWE weakness mapping (NVD)
  • Public exploit availability
  • Catalogued by GitHub_M (CNA)
  • Coverage gaps — stated, not hidden

  • No EUVD / GCVE mirror in feed — single-authority dependency for the identifier.
  • EPSS & exposure are time-varying; verify live at the source.
  • Threat-actor attribution not established from feed data — absence of a name is not absence of compromise.
  • No finder/reporter credit recorded in the public CVE entry — the work behind this find is unattributed.
  • Disclosure & credit2
    Catalogued by GitHub_MCNA
    Credited with finding itNo finder named in the public CVE record — the work behind this find is unattributed.