CVE-2026-100714

Source
https://cve.org/CVERecord?id=CVE-2026-100714
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-100714.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2026-100714
Aliases
  • GHSA-3w4g-cmpj-rj42
Published
2026-09-26T13:24:06Z
Modified
2026-09-28T03:48:30Z
Severity
  • 9.4 (Critical) CVSS_V4 - CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H CVSS Calculator
Summary
Froxlor before 2.3.12 Command Injection via letsencryptchallengepath
Details

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.

Database specific
{
    "cna_assigner":  "VulnCheck",
    "cwe_ids":  [
        "CWE-88"
    ],
    "osv_generated_from":  "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/100xxx/CVE-2026-100714.json"
}
References

Affected packages

Git / github.com/froxlor/froxlor

Affected ranges

Type
GIT
Repo
https://github.com/froxlor/froxlor
Events
Introduced
0 Unknown introduced commit / All previous commits are affected
Fixed
Database specific
Show details
{
    "extracted_events":  [
        {
            "introduced":  "0"
        },
        {
            "fixed":  "2.3.12"
        }
    ],
    "source":  [
        "AFFECTED_FIELD",
        "DESCRIPTION"
    ]
}

Affected versions

0.*
0.10.0
0.10.0-rc1
0.10.0-rc2
0.10.1
0.10.10
0.10.11
0.10.12
0.10.13
0.10.14
0.10.15
0.10.16
0.10.17
0.10.18
0.10.19
0.10.2
0.10.20
0.10.21
0.10.22
0.10.23
0.10.23.1
0.10.24
0.10.25
0.10.26
0.10.27
0.10.28
0.10.29
0.10.29.1
0.10.3
0.10.30
0.10.31
0.10.32
0.10.33
0.10.4
0.10.5
0.10.6
0.10.7
0.10.8
0.10.9
0.9.18
0.9.18.1
0.9.19
0.9.20
0.9.20.1
0.9.21
0.9.22
0.9.22-rc1
0.9.23
0.9.23-rc1
0.9.24
0.9.24-rc1
0.9.25
0.9.25-rc1
0.9.26
0.9.26-rc1
0.9.27
0.9.27-rc1
0.9.28
0.9.28-rc1
0.9.28.1
0.9.29
0.9.29-rc1
0.9.30
0.9.30-rc1
0.9.31-rc1
0.9.32
0.9.32-rc1
0.9.32-rc2
0.9.33-rc1
0.9.33-rc2
0.9.33-rc3
0.9.34.1
0.9.34.2
0.9.35
0.9.35-rc1
0.9.35.1
0.9.36
0.9.37
0.9.37-rc1
0.9.38
0.9.38-rc1
0.9.38-rc2
0.9.38.1
0.9.38.2
0.9.38.3
0.9.38.4
0.9.38.5
0.9.38.6
0.9.38.7
0.9.38.8
0.9.39
0.9.39.1
0.9.39.2
0.9.39.3
0.9.39.4
0.9.39.5
2.*
2.0.1
2.0.10
2.0.11
2.0.12
2.0.13
2.0.14
2.0.15
2.0.16
2.0.17
2.0.18
2.0.19
2.0.2
2.0.20
2.0.21
2.0.22
2.0.23
2.0.24
2.0.3
2.0.4
2.0.5
2.0.6
2.0.7
2.0.8
2.0.9
2.1.0
2.1.0-beta1
2.1.0-beta2
2.1.0-rc1
2.1.0-rc2
2.1.0-rc3
2.1.1
2.1.2
2.1.3
2.1.4
2.2.0-rc1
2.3.0
2.3.0-rc1
2.3.1
2.3.10
2.3.11
2.3.2
2.3.3
2.3.4
2.3.5
2.3.6
2.3.7
2.3.8
2.3.9

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-100714.json"