CVE-2020-12278

An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0

published April 27, 2020

CVSS
—
EPSS
5%
Percentile
92.5
In the wild
Unconfirmed
What it is

⚠️ A clever twist in filename handling could lead to remote code execution in libgit2 versions before 0.28.4 and 0.9x before 0.99.0! Think of it like a restaurant that allows customers to order dishes by alternate names — if they don’t check the ingredient list properly, a dish could contain something unexpected and dangerous. Here, NTFS Alternate Data Streams are just the sneaky aliases slipping through undetected! If an attacker exploits this oversight while cloning a repository, they could execute malicious code directly on the system. It’s like a chef serving a dish with a hidden surprise — you might end up with something you definitely didn’t ask for!

Put simply

Think of it like a restaurant that allows customers to order dishes by alternate names — if they don’t check the ingredient list properly, a dish could contain something unexpected and dangerous. Here, NTFS Alternate Data Streams are just the sneaky aliases slipping through undetected! This vulnerability arises from libgit2's mishandling of equivalent filenames due to NTFS Alternate Data Streams, potentially allowing for remote code execution when interacting with repositories.

What to do

If an attacker exploits this oversight while cloning a repository, they could execute malicious code directly on the system. It’s like a chef serving a dish with a hidden surprise — you might end up with something you definitely didn’t ask for! To protect yourself, update libgit2 to version 0.28.4 or 0.99.0 to eliminate this risk. Regularly audit your libraries and dependencies to ensure you’re using the latest safe versions. You've got this! With these updates, you'll be guarding your code like a pro. 🛡️

The record
Technical detail
CVSS
Not scored
CVSS v4.0
Not supplied
EPSS
0.05238 · 92.5th percentile
Published
2020-04-27T00:00Z
EPSS history
Timeline
  • 27 APR 00:00Z
    An issue was discovered in libgit2 before 0.28.4 and 0.9x before 0.99.0
    cvelistv5