Vulnerability in froxlor/froxlor (CVE-2026-54543)
Summary
Vulnerability in froxlor/froxlor (CVE-2026-54543). Risk of unauthorized operations or information disclosure. Mitigation: upgrade to 2.3.8 or later.
Original description
The description as published by the source.
Froxlor's DomainZones.add API command accepts user-controlled DNS record and type values and later writes them into generated BIND zone files without rejecting line delimiters, tab characters, or zone-file comment delimiters.
The stronger variant is in record. An authenticated customer with DNS-zone permissions can submit a normal A record request where record is:
www\t60\tIN\tA\t6.6.6.6 ;\n@
with type=A and content=127.0.0.1. The current record flow trims/lower-cases/IDNA-encodes the value, but does not reject CR/LF/HTAB or semicolon. The real Froxlor\Dns\DnsEntry::__toString() sink renders it as:
www 60 in a 6.6.6.6 ;
@ 18000 IN A 127.0.0.1
BIND accepts the generated zone file:
named-checkzone example.com froxlor_dns_record_injected.zone
zone example.com/IN: loaded serial 2026060501
OK
named-compilezone -D confirms both records are parsed as real DNS RRs:
example.com. 18000 IN A 127.0.0.1
www.example.com. 60 IN A 6.6.6.6
zone example.com/IN: loaded serial 2026060501
OK
Affected code in 2.3.7:
- lib/Froxlor/Api/Commands/DomainZones.php:92-93 reads record/type from API params.
- lib/Froxlor/Api/Commands/DomainZones.php:122-136 trims/lower-cases/IDNA-encodes record without control-character rejection.
- lib/Froxlor/Api/Commands/DomainZones.php:157-160 hardens content only.
- lib/Froxlor/Api/Commands/DomainZones.php:314-321 and 347-357 store record/type/content into domain_dns_entries.
- lib/Froxlor/Dns/Dns.php:297 passes stored values…
Source: GitHub Security Advisories (Global) NVD GitHub Advisory
Auto-generated summary
Assembled by SecPulse from the source data (CVSS, CWE, affected versions) using templates — no AI involved. Check the original description and references below for exact details.
A vulnerability tracked as CVE-2026-54543 has been found in froxlor/froxlor.
Risk of unauthorized operations or information disclosure. CVSS score: 5.4/10.
What to do: upgrade froxlor/froxlor to 2.3.8 or later.
If unsure, ask your IT team or search "froxlor/froxlor CVE-2026-54543" on the vendor's site.
CVE-2026-54543 (froxlor/froxlor) — CWE-74 / CVSS v3 5.4
Attack vector: remote (network-reachable) / no user interaction
Patched: 2.3.8 — apply immediately
Plan: 1) Audit SBOM/dependencies, 2) Stage→prod upgrade, 3) Add WAF/proxy monitoring on affected endpoints, 4) Hunt IOCs in logs.
Refs: see the GHSA / vendor advisory / patched release linked on this page.
A vulnerability (CWE-74) exists in froxlor/froxlor.
Check the vendor advisory for the affected versions of froxlor/froxlor.
Severity: Medium (CVSS 5.4/10). Risk of unauthorized operations or information disclosure.
Update to 2.3.8.
Until the patch is applied: disable the affected feature, apply WAF rules, or restrict access via network ACLs.
Search webserver/proxy logs for unusual request patterns matching this CVE's known IOCs. Run grep -r 'froxlor/froxlor' . against your dependency files (package-lock.json, requirements.txt, go.sum) to find affected services.
Response actions
Concrete steps and command examples for SOC/SRE teams to execute in order
-
1Identify exposure identify
grep -r 'froxlor/froxlor' . | grep -v node_modulesリポジトリと本番環境の依存ファイル (package-lock.json / requirements.txt / go.sum / Gemfile.lock 等) で
froxlor/froxlorを grep し、稼働しているサービス・バージョンを把握する。 -
2Apply patch patch
Upgrade froxlor/froxlor to 2.3.8ステージング環境で 2.3.8 に上げて回帰テスト → 本番反映。回帰テストはアプリの主要ハッピーパスを含めること。
-
3Post-deployment verification verify
Confirm patched version is live in productionパッチ適用後、ステージングで PoC または同等の悪用パターンを再現して脆弱性が閉じたことを確認。本番ではアクセスログ・WAF でアラート再発が無いか継続監視。
Affected packages
References
- package github.com
- web github.com
- web github.com
- web github.com
- web github.com