CVE-2015-8704
Medium · 6.5CVSS
6.5
EPSS
20.3%
Published
Jan 20, 2016
CISA due date
—
Cloudanix analysis
A bug in widely used DNS server software lets certain remote users crash the server and stop name lookups until it is restarted.
- Exploitation
- Remote Authenticated
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Improper Input Validation
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Malformed Address Prefix List (APL) record triggers an INSIST assertion failure in apl_42.c, causing the BIND daemon to exit and producing a denial of service.
Why it matters to the business
Unexpected DNS server crashes interrupt name resolution services, leading to application and network outages until the daemon is restarted; older unpatched deployments remain exposed with no listed fixed versions in the provided data.
How an attack unfolds
An authenticated remote user crafts a specially malformed APL record and submits it to a vulnerable BIND instance (for example via dynamic DNS update privileges), triggering the assertion failure and immediate process termination.
How to fix it
Upgrade ISC BIND to version 9.9.8-P3 or later for the 9.9 branch and 9.10.3-P3 or later for the 9.10 branch; apply vendor patches or migrate to a supported release; restrict dynamic-update privileges to least-privilege accounts in the interim.
How to confirm the fix worked
Verify running BIND version against the affected ranges; attempt to load or update a zone containing a crafted APL record in a test environment and confirm the daemon no longer crashes; monitor process uptime and assertion-related log entries post-upgrade.
Typical attack path
- Obtain authenticated access or dynamic-update rights to the target DNS server
- Construct a malformed APL resource record
- Transmit the record to the server
- Trigger the INSIST failure and daemon exit
How to detect it
Review BIND daemon logs and system crash reports for INSIST assertion failures referencing apl_42.c or APL record handling; correlate authenticated update requests immediately preceding unexpected process exits.
- INSIST assertion failure
- apl_42.c
- Address Prefix List
- daemon exit
What your security team should do
- Prioritize upgrade of all exposed BIND 9.x deployments to the fixed releases
- Audit and minimize dynamic-update and zone-modification privileges
- Enable logging of APL record processing and daemon crashes for ongoing monitoring
The record
apl_42.c in ISC BIND 9.x before 9.9.8-P3, 9.9.x, and 9.10.x before 9.10.3-P3 allows remote authenticated users to cause a denial of service (INSIST assertion failure and daemon exit) via a malformed Address Prefix List (APL) record.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | bind9 | 0 | 1:9.10.3.dfsg.P4-6 |
| Debian:12 | bind9 | 0 | 1:9.10.3.dfsg.P4-6 |
| Debian:13 | bind9 | 0 | 1:9.10.3.dfsg.P4-6 |
| Debian:6.0 | bind9 | 0 | 1:9.7.3.dfsg-1~squeeze19 |
| Debian:7 | bind9 | 0 | 1:9.8.4.dfsg.P1-6+nmu2+deb7u9 |
| Debian:8 | bind9 | 0 | 1:9.9.5.dfsg-9+deb8u5 |
| Mageia:5 | bind | 0 | 9.10.3.P3-1.mga5 |
| Red Hat:enterprise_linux:5::client | bind | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client | bind-chroot | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client | bind-debuginfo | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client | bind-devel | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client | bind-libbind-devel | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client | bind-libs | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client | bind-sdb | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client | bind-utils | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client | caching-nameserver | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client_workstation | bind | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client_workstation | bind-chroot | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client_workstation | bind-debuginfo | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client_workstation | bind-devel | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client_workstation | bind-libbind-devel | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client_workstation | bind-libs | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client_workstation | bind-sdb | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client_workstation | bind-utils | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::client_workstation | bind97 | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::client_workstation | bind97-chroot | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::client_workstation | bind97-debuginfo | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::client_workstation | bind97-devel | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::client_workstation | bind97-libs | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::client_workstation | bind97-utils | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::client_workstation | caching-nameserver | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::server | bind | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::server | bind-chroot | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::server | bind-debuginfo | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::server | bind-devel | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::server | bind-libbind-devel | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::server | bind-libs | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::server | bind-sdb | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::server | bind-utils | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:5::server | bind97 | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::server | bind97-chroot | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::server | bind97-debuginfo | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::server | bind97-devel | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::server | bind97-libs | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::server | bind97-utils | 0 | 32:9.7.0-21.P2.el5_11.5 |
| Red Hat:enterprise_linux:5::server | caching-nameserver | 0 | 30:9.3.6-25.P1.el5_11.6 |
| Red Hat:enterprise_linux:6::client | bind | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::client | bind-chroot | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::client | bind-debuginfo | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::client | bind-devel | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::client | bind-libs | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::client | bind-sdb | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::client | bind-utils | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::computenode | bind | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::computenode | bind-chroot | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::computenode | bind-debuginfo | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::computenode | bind-devel | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::computenode | bind-libs | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::computenode | bind-sdb | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::computenode | bind-utils | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::server | bind | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::server | bind-chroot | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::server | bind-debuginfo | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::server | bind-devel | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::server | bind-libs | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::server | bind-sdb | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::server | bind-utils | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::workstation | bind | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::workstation | bind-chroot | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::workstation | bind-debuginfo | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::workstation | bind-devel | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::workstation | bind-libs | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::workstation | bind-sdb | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:6::workstation | bind-utils | 0 | 32:9.8.2-0.37.rc1.el6_7.6 |
| Red Hat:enterprise_linux:7::client | bind | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-chroot | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-debuginfo | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-libs | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-libs-lite | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-license | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-lite-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-pkcs11 | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-pkcs11-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-pkcs11-libs | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-pkcs11-utils | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-sdb | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-sdb-chroot | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::client | bind-utils | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-chroot | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-debuginfo | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-libs | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-libs-lite | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-license | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-lite-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-pkcs11 | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-pkcs11-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-pkcs11-libs | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-pkcs11-utils | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-sdb | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-sdb-chroot | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::computenode | bind-utils | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-chroot | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-debuginfo | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-libs | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-libs-lite | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-license | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-lite-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-pkcs11 | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-pkcs11-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-pkcs11-libs | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-pkcs11-utils | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-sdb | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-sdb-chroot | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::server | bind-utils | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-chroot | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-debuginfo | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-libs | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-libs-lite | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-license | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-lite-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-pkcs11 | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-pkcs11-devel | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-pkcs11-libs | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-pkcs11-utils | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-sdb | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-sdb-chroot | 0 | 32:9.9.4-29.el7_2.2 |
| Red Hat:enterprise_linux:7::workstation | bind-utils | 0 | 32:9.9.4-29.el7_2.2 |
| SUSE:Linux Enterprise Desktop 11 SP3 | bind | 0 | 9.9.6P1-0.22.1 |
| SUSE:Linux Enterprise Desktop 11 SP4 | bind | 0 | 9.9.6P1-0.22.1 |
| SUSE:Linux Enterprise Desktop 12 | bind | 0 | 9.9.6P1-28.9.1 |
| SUSE:Linux Enterprise Desktop 12 SP1 | bind | 0 | 9.9.6P1-35.1 |
| SUSE:Linux Enterprise Server 11 SP2-LTSS | bind | 0 | 9.9.6P1-0.22.1 |
| SUSE:Linux Enterprise Server 11 SP3 | bind | 0 | 9.9.6P1-0.22.1 |
| SUSE:Linux Enterprise Server 11 SP3-TERADATA | bind | 0 | 9.9.6P1-0.22.1 |
| SUSE:Linux Enterprise Server 11 SP4 | bind | 0 | 9.9.6P1-0.22.1 |
| SUSE:Linux Enterprise Server 12 | bind | 0 | 9.9.6P1-28.9.1 |
| SUSE:Linux Enterprise Server 12 SP1 | bind | 0 | 9.9.6P1-35.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP3 | bind | 0 | 9.9.6P1-0.22.1 |
| SUSE:Linux Enterprise Server for SAP Applications 11 SP4 | bind | 0 | 9.9.6P1-0.22.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 | bind | 0 | 9.9.6P1-28.9.1 |
| SUSE:Linux Enterprise Server for SAP Applications 12 SP1 | bind | 0 | 9.9.6P1-35.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP3 | bind | 0 | 9.9.6P1-0.22.1 |
| SUSE:Linux Enterprise Software Development Kit 11 SP4 | bind | 0 | 9.9.6P1-0.22.1 |
| SUSE:Linux Enterprise Software Development Kit 12 | bind | 0 | 9.9.6P1-28.9.1 |
| SUSE:Linux Enterprise Software Development Kit 12 SP1 | bind | 0 | 9.9.6P1-35.1 |
| Ubuntu:14.04:LTS | bind9 | 0 | 1:9.9.5.dfsg-3ubuntu0.7 |
| openSUSE:Tumbleweed | bind | 0 | 9.10.3P4-21.1 |
Related vulnerabilities
- CVE-2025-40775 When an incoming DNS protocol message includes a Transaction Signature (TSIG), BIND… Also affects bind9
- CVE-2024-11187 It is possible to construct a zone such that some queries to it will generate responses… Also affects bind9
- CVE-2024-12705 Clients using DNS-over-HTTPS (DoH) can exhaust a DNS resolver's CPU and/or memory by… Also affects bind9
- CVE-2024-4076 Client queries that trigger serving stale data and that also require lookups in local… Also affects bind9
- CVE-2024-1737 Resolver caches and authoritative zone databases that hold significant numbers of RRs for… Also affects bind9
- CVE-2024-1975 If a server hosts a zone containing a "KEY" Resource Record, or a resolver… Also affects bind9
- CVE-2023-50868 The Closest Encloser Proof aspect of the DNS protocol (in RFC 5155 when RFC 9276 guidance… Also affects bind9
- CVE-2022-2795 By flooding the target resolver with queries exploiting this flaw an attacker can… Also affects bind9