Średnia

Froxlor DomainZones.add allows DNS zone-file RR injection via record/type fields

  • Ujawniono: 18.08.2026
  • Aktualizacja: 11.10.2026 10:22

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 to DnsEntry.
  • lib/Froxlor/Dns/DnsEntry.php:83 concatenates record/type/content into a zone-file line.

There is also a related type-field variant because type is not allowlisted and domain_dns_entries.type is varchar(10). The value NS\tns.\n@\tA renders one submitted entry as multiple zone-file records.

Impact: authenticated customer with DNS-zone permissions can inject additional BIND resource-record lines into the generated zone file for a domain they can manage in Froxlor, bypassing Froxlor's DNS field-level validation. This is DNS zone integrity loss and possible DNS availability impact inside the caller's manageable zone.

Suggested remediation: allowlist DNS RR types, reject CR/LF/HTAB/control chars/spaces/semicolon in record and type, validate record as a DNS owner name while allowing intended cases such as @, *, *.label, _service._proto, _dmarc, and DKIM selectors. Add defense-in-depth in DnsEntry or the DNS serializer so CR/LF cannot reach generated zone lines.

Attribution: Yaohui Wang.

Czego dotyczy

Kliknij technologię, aby zobaczyć wszystkie dotyczące jej podatności.

PlatformaPaczkaPodatne wersjePoprawka w wersji
Paczka Composer froxlor/froxlor < 2.3.8 2.3.8

Odnośniki

Ocena CVSS 5.4/10
Wektor CVSS
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L
Słabość (CWE)
CWE-20, CWE-74
Platforma
Composer
Paczka
froxlor/froxlor
Ujawniono
18.08.2026
Aktualizacja
11.10.2026 10:22

Źródła i licencje

OSV / GitHub Advisory Database - GHSA-5rw4-4665-cvwf - CC BY 4.0

Historia podatności: froxlor/froxlor

Wszystkie opisane podatności tej paczki (Paczka Composer), od najnowszej. Widać, czy to jednorazowa wpadka, czy paczka, której trzeba pilnować.

Wszystkie (60) w archiwum
Wszystkich wpisów
60
Pierwsza → ostatnia
04.2022 08.2026
Bez poprawki
3
Wykorzystywana w atakach
0

Rozkład istotności

  • Krytyczna 12
  • Wysoka 21
  • Średnia 26
  • Niska 1

Ujawnienia w latach

  1. 2022: 15
  2. 2023: 20
  3. 2024: 3
  4. 2025: 2
  5. 2026: 20
Istotność:
  1. Krytyczna · 9.0 CVE-2026-62988 < 2.3.8 2.3.8
  2. Froxlor DomainZones.add allows DNS zone-file RR injection via record/type fields ten wpis
    Średnia · 5.4 CVE-2026-54543 < 2.3.8 2.3.8
  3. Wysoka · 8.1 CVE-2026-52793 < 2.3.7 2.3.7
  4. Wysoka · 7.6 CVE-2026-41234 < 2.3.7 2.3.7
  5. Wysoka CVE-2026-41237 < 2.3.7 2.3.7
  6. Krytyczna · 9.6 CVE-2024-34070 < 2.1.9 2.1.9
  7. Wysoka · 7.5 CVE-2023-50256 < 2.1.2 2.1.2
  8. Krytyczna · 9.9 CVE-2023-6069 < 2.1.0-beta1 2.1.0-beta1
  9. Krytyczna · 9.1 CVE-2023-3668 < 2.0.21 2.0.21
  10. Wysoka · 7.2 CVE-2023-3172 < 2.0.20 2.0.20
  11. Krytyczna · 9.8 CVE-2023-1307 < 2.0.13 2.0.13
  12. Wysoka · 8.8 CVE-2023-1033 < 2.0.11 2.0.11
  13. Wysoka · 8.8 CVE-2023-0877 < 2.0.11 2.0.11
  14. Wysoka · 7.5 CVE-2023-0564 < 2.0.10 2.0.10
  15. Wysoka · 8.8 CVE-2023-0315 < 2.0.8 2.0.8
  16. Krytyczna · 9.8 CVE-2021-42325 < 0.10.30 0.10.30
  17. Wysoka · 8.8 CVE-2020-10235 < 0.10.14 0.10.14
  18. Krytyczna · 9.8 CVE-2016-5100 < 0.9.35 0.9.35
  19. Wysoka · 7.5 CVE-2018-12642 < 0.9.40 0.9.40
  20. Wysoka · 7.2 CVE-2018-1000527 < 0.9.40 0.9.40

Dowiedz się, które podatności dotyczą Twojej aplikacji

Po podłączeniu integracji DockRay i włączeniu raportowania oprogramowania DockRay porównuje zgłoszone wersje komponentów ze znanymi podatnościami i powiadamia o potwierdzonych dopasowaniach. Zakres zależy od obsługiwanej technologii i dostępnych biuletynów.

Podłącz swoją aplikację
Newsletter DockRay

Bezpieczeństwo aplikacji w Twojej skrzynce

Najważniejsze podatności, konkretne zalecenia i praktyczne wskazówki dla Twoich aplikacji. Wybierz technologie i śledź to, co ma znaczenie dla Twojego projektu.

  • Codzienne zestawienie nowych podatności, także krytycznych.
  • Powiadomienia o ważnych aktualizacjach.
  • Praktyczne porady o bezpieczeństwie i monitoringu aplikacji.

Pozostaw puste, aby otrzymywać informacje o wszystkich technologiach.

Zapis jest bezpłatny. Wypiszesz się jednym kliknięciem w wiadomości.