---
id: CVE-2026-100714
title: >-
  Froxlor before 2.3.12 does not restrict or escape the
  system.letsencryptchallengepath setting: unlike sibling settings hardened in
  GHSA-33mp, the field has no string_regexp or required_otp guard, and its value
  is concatenated unescaped i…
summary: >-
  Froxlor before 2.3.12 does not restrict or escape the
  system.letsencryptchallengepath setting: unlike sibling settings hardened in
  GHSA-33mp, the field has no string_regexp or required_otp guard, and its value
  is concatenated unescaped i…
severity: critical
cvss: 9.1
cvssVector: 'CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H'
cwe:
  - CWE-88
vendor: froxlor
product: froxlor
affected:
  - froxlor < 2.3.12
published: '2026-09-26'
updated: '2026-09-26'
sourceUpdated: '2026-09-26T14:16:57.373'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-100714'
references:
  - url: 'https://github.com/froxlor/froxlor/security/advisories/GHSA-3w4g-cmpj-rj42'
    label: disclosure@vulncheck.com
  - url: >-
      https://www.vulncheck.com/advisories/froxlor-before-2.3.12-command-injection-via-letsencryptchallengepath
    label: disclosure@vulncheck.com
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-26T13:33:20.895Z'
---

## Overview

Froxlor before 2.3.12 does not restrict or escape the system.letsencryptchallengepath setting: unlike sibling settings hardened in GHSA-33mp, the field has no string_regexp or required_otp guard, and its value is concatenated unescaped into the acme.sh command line built in lib/Froxlor/Cron/Http/LetsEncrypt/AcmeSh.php and executed by the root cron via FileDir::safe_exec. Because safe_exec only blacklists shell metacharacters such as ; | & > < \ $ ~ ?, spaces and quotes survive and the value is word-split into additional acme.sh arguments. An administrator, or any actor able to write settings (for example through the settings-import API), can therefore inject acme.sh options such as --renew-hook, --pre-hook or --post-hook to obtain arbitrary command execution as root at the next Let's Encrypt cron run, or use --config-home/--cert-home for arbitrary file writes. Versions up to and including 2.3.10 are affected; the issue is fixed in 2.3.12.

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
