rldns 1.3 Heap-Based Out-of-Bounds Read Remote DoS (CVE-2026-27831)
by Antonius (bluedragonsecurity.com) · 2026-07-05
- Severity
- Medium
- CVE
- CVE-2026-27831
- Category
- binary
- Affected product
- rldns 1.3 (open-source DNS server)
- Affected versions
- 1.3 (fixed in 1.4)
- Disclosed
- 2026-07-05
- Patch status
- patched
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-05 |
| Last Updated | 2026-02 |
| Author / Researcher | Antonius (bluedragonsecurity.com) |
| CVE / Advisory | CVE-2026-27831 |
| Category | binary |
| Severity | Medium |
| CVSS Score | Not specified in source |
| Status | PoC |
| Tags | dns, heap-overflow, out-of-bounds-read, denial-of-service, rldns, memory-corruption, x86_64 |
| Related | N/A |
Affected Target
| Field | Value |
|---|---|
| Software / System | rldns 1.3 (open-source DNS server) |
| Versions Affected | 1.3 (fixed in 1.4) |
| Language / Platform | C (exploit); target runs on Linux, FreeBSD, NetBSD, x86_64 |
| Authentication Required | No |
| Network Access Required | Yes |
Summary
rldns is an open-source DNS server for Linux, FreeBSD, and NetBSD. Version 1.3 contains a heap-based out-of-bounds read that can be triggered remotely by sending a specially crafted, malformed DNS-like UDP packet, causing the server process to crash and resulting in denial of service. The included PoC is a small C program that builds a fixed 16-byte malformed packet and sends it via a raw UDP socket to the target’s DNS port. Version 1.4 of rldns contains the fix for this issue.
Vulnerability Details
Root Cause
The rldns 1.3 packet parser reads past the bounds of a heap-allocated buffer when handling a malformed packet with an inconsistent/truncated record structure, leading to an out-of-bounds heap read that crashes the service.
Attack Vector
- Identify a target host running rldns 1.3 on its DNS UDP port.
- Send the crafted 16-byte malformed packet (
0x12 0x34 0x34 0x00 ... 0xff) via a raw UDP socket to the target IP and port. - The rldns parser reads out of bounds while processing the malformed packet.
- The service crashes, denying DNS resolution to legitimate clients.
Impact
Remote, unauthenticated denial of service against the rldns DNS service with a single crafted UDP packet.
Environment / Lab Setup
Target: rldns 1.3 on Linux/FreeBSD/NetBSD, x86_64, DNS UDP port reachable
Attacker: Linux (tested on Kali Linux 2025) with a C compiler (gcc)
Proof of Concept
PoC Script
See
exploit.cin this folder.
| |
The program opens a UDP socket and sends a single fixed 16-byte malformed packet to the target’s rldns port; a successful crash of the target service confirms the vulnerability.
Detection & Indicators of Compromise
Signs of compromise:
- Unexpected rldns process termination or automatic restart in service logs
- A single anomalous 16-byte UDP packet to the DNS port immediately preceding the crash
- DNS resolution outages without corresponding configuration changes
Remediation
| Action | Detail |
|---|---|
| Primary fix | Upgrade to rldns 1.4 or later |
| Interim mitigation | Restrict/filter inbound UDP DNS traffic to trusted resolvers where possible, and monitor for repeated service crashes/restarts |
References
Notes
Mirrored from https://github.com/bluedragonsecurity/CVE-2026-27831-POC on 2026-07-05.
| |