Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2020-8277 PoC — Oracle GraalVM 资源管理错误漏洞

Source
Associated Vulnerability
Title:Oracle GraalVM 资源管理错误漏洞 (CVE-2020-8277)
Description:A Node.js application that allows an attacker to trigger a DNS request for a host of their choice could trigger a Denial of Service in versions < 15.2.1, < 14.15.1, and < 12.19.1 by getting the application to resolve a DNS record with a larger number of responses. This is fixed in 15.2.1, 14.15.1, and 12.19.1.
Readme
# CVE-2020-8277

For educational purposes only.

## Quick Run 
```
# clone this repository
$ git clone https://github.com/masahiro331/CVE-2020-8277

# run bind
$ docker build -t bind-local  ./bind
# Need TCP fallback
$ docker run --rm --name bind -it -p 53:53 -p 53:53/udp bind

# use "< v15.2.1" version
# If you use fixed version, build node.
$ git clone https://github.com/nodejs/node
$ git checkout df211208c0
$ ./configure
$ make -j8
$ make install

# Run PoC
$ node main.js
```

## Details

See Reference for the details.    
https://nodejs.org/en/blog/vulnerability/november-2020-security-releases/  
The advisory states that resolving a hostname that returns a large number of records will result in DoS.   


The vulnerability has read out of memory error.  
Affected line.   
https://github.com/nodejs/node/blob/1fd2c8142b611baadc973947b83c0863cb003d9d/src/cares_wrap.cc#L764  
File Snapshot

[4.0K] /data/pocs/f7b3517f3fe9b6cbb9dd603cfd4e2ab508018162 ├── [4.0K] dns-server │   ├── [4.0K] bind │   │   ├── [ 186] named.conf │   │   └── [ 66K] pudim.com.zone │   ├── [ 208] docker-compose.yml │   └── [ 531] zone_generator.py ├── [ 888] README.md └── [4.0K] server ├── [ 426] index.js ├── [ 260] package.json └── [ 31K] package-lock.json 3 directories, 8 files
Shenlong Bot has cached this for you
Remarks
    1. It is advised to access via the original source first.
    2. Local POC snapshots are reserved for subscribers — if the original source is unavailable, the local mirror is part of the paid plan.
    3. Mirroring, verifying, and maintaining this POC archive takes ongoing effort, so local snapshots are a paid feature. Your subscription keeps the archive online — thank you for the support. View subscription plans →