Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
nginx-CVE-2017-7529 — PoC exploit for Nginx integer overflow vulnerability (CVE-2017-7529) enabling out-of-bounds cache read. Includes Docker-based lab environment and Python script for testing. | Kitploit
Tools/GitHubGitHub/cyberharsh/nginx-cve-2017-7529
Vulnerability AnalysisExploitationWeb Application ExploitationWeb SecurityPenetration TestingLearning & Education
GitHubcyberharsh/nginx-cve-2017-7529

nginx-CVE-2017-7529

PoC exploit for Nginx integer overflow vulnerability (CVE-2017-7529) enabling out-of-bounds cache read. Includes Docker-based lab environment and Python script for testing.

View Repository
216 years agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

Nginx out-of-bounds read cache vulnerability (CVE-2017-7529)

Vulnerability Principle

References:

  • https://cert.360.cn/detailnews.html?id=b879782fbad4a7f773b6c18490d67ac7
  • http://galaxylab.org/cve-2017-7529-nginx%E6%95%B4%E6%95%B0%E6%BA%A2%E5%87%BA%E6%BC%8F%E6%B4%9E%E5%88%86%E6%9E%90/

When Nginx acts as a reverse proxy, it usually caches some files, especially static files. The cached portion is stored in files, where each cache file includes a "file header" + "HTTP response header" + "HTTP response body". If a subsequent request hits the cached file, Nginx will directly return the "HTTP response body" from that file to the user.

If my request contains the Range header, Nginx will return content of the specified length based on the start and end positions I provide. If I craft two negative positions, such as (-600, -9223372036854774591), it may read data at a negative position. If this request also hits the cache file, it may be possible to read the "file header", "HTTP response header", etc., that are located before the "HTTP response body" in the cache file.

Reproduce the Vulnerability

Run the test environment:

root@kitploit:~
docker-compose up -d

Visit http://your-ip:8080/ to see the Nginx default page, which is actually the content of port 8081 served via reverse proxy.

Call python3 poc.py http://your-ip:8080/ to read the returned result:

As shown, it reads the "file header", "HTTP response header", etc., that are located before the "HTTP response body" via out-of-bounds access.

If the read is incorrect, adjust the offset address (605) in poc.py.

Download Tool