CVE-2026-41230
DNS Injection Vulnerability in Froxlor DomainZones Allows BIND File Manipulation
Publication date: 2026-04-23
Last updated on: 2026-04-27
Assigner: GitHub, Inc.
Description
Description
CVSS Scores
EPSS Scores
| Probability: | |
| Percentile: |
Meta Information
Affected Vendors & Products
| Vendor | Product | Version / Range |
|---|---|---|
| froxlor | froxlor | to 2.3.6 (exc) |
Helpful Resources
Exploitability
| CWE ID | Description |
|---|---|
| CWE-93 | The product uses CRLF (carriage return line feeds) as a special element, e.g. to separate lines or records, but it does not neutralize or incorrectly neutralizes CRLF sequences from inputs. |
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?
CVE-2026-41230 is a high-severity vulnerability in the Froxlor server administration software versions prior to 2.3.6. The issue lies in the DomainZones::add() function, which accepts arbitrary DNS record types without enforcing a whitelist and fails to sanitize newline characters in the DNS record content field.
Specifically, only 13 DNS record types have content validation, but other types like NAPTR, PTR, and HINFO bypass this validation entirely. The content field is only trimmed of leading and trailing whitespace but retains embedded newline characters.
These newline characters are stored in the database and written directly into BIND zone files without escaping or sanitization. This allows an authenticated user to inject arbitrary DNS records and BIND directives (such as $INCLUDE, $ORIGIN, $GENERATE) into their domain's zone file, potentially manipulating DNS behavior.
How can this vulnerability impact me? :
This vulnerability allows authenticated users with DNS editing rights to inject arbitrary DNS records and BIND directives into zone files, which can have several impacts:
- Injection of A/AAAA records that redirect traffic to attacker-controlled IP addresses.
- Manipulation of email authentication policies (SPF, DKIM, DMARC) via injected TXT records, enabling email spoofing.
- Alteration of zone file behavior through injected BIND directives, including inclusion of local files or mass generation of DNS records.
- Disruption of DNS service due to malformed or conflicting injected records causing zone file load failures.
- In multi-tenant environments, malicious customers can disrupt DNS for other tenants or bypass zone integrity protections.
How can this vulnerability be detected on my network or system? Can you suggest some commands?
This vulnerability can be detected by inspecting DNS records in Froxlor-managed zones for unusual or unexpected DNS record types (such as NAPTR, PTR, HINFO) that bypass validation, and by checking for embedded newline characters in the content field of DNS records.
Since the vulnerability involves injection of arbitrary DNS records and BIND directives via newline characters, you can look for zone files containing unexpected directives like $INCLUDE, $ORIGIN, or $GENERATE that were not intended.
Suggested commands include:
- Use grep to search for suspicious DNS record types or BIND directives in zone files, for example: grep -E '\$INCLUDE|\$ORIGIN|\$GENERATE' /path/to/bind/zones/*
- Check for newline characters embedded in DNS record content stored in the database or zone files by searching for literal newline sequences or unexpected multi-line entries.
- Audit Froxlor DNS records via its API or database queries to identify records with types outside the whitelist (A, AAAA, CAA, CNAME, DNAME, LOC, MX, NS, RP, SRV, SSHFP, TLSA, TXT) and content containing newline characters.
What immediate steps should I take to mitigate this vulnerability?
Immediate mitigation steps include:
- Upgrade Froxlor to version 2.3.6 or later, where the vulnerability is fixed.
- Implement server-side validation to whitelist allowed DNS record types in the DomainZones::add() function, rejecting unsupported types.
- Sanitize the content field by stripping or replacing newline characters (\r and \n) before storing DNS records.
- Add defense-in-depth by sanitizing content in the DnsEntry::__toString() method to remove newline characters before writing zone files.
- Restrict DNS editing permissions to trusted authenticated users only to reduce risk of malicious record injection.
How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:
The provided information does not explicitly address how this vulnerability affects compliance with common standards and regulations such as GDPR or HIPAA.