{"kind": "product", "path": "vulns/packagist/froxlor%2Ffroxlor", "name": "froxlor/froxlor", "product": "froxlor/froxlor", "ecosystem": "Packagist", "items": [{"id": "CVE-2026-90936", "noindex": false, "published": "2026-09-14T12:48:30.782Z", "modified": "2026-10-08T15:26:00.569Z", "cvss": 5.3, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N", "severity": "medium", "epss": 0.00306, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-90936", "title": "Froxlor before 2.3.7 Information Disclosure via customer_email.php", "description": "Froxlor before 2.3.7 fails to properly scope sender alias lookups to the current customer in customer_email.php. Authenticated attackers can enumerate global sender alias IDs and read other customers' allowed sender values by supplying arbitrary senderid parameters in delete confirmation requests.", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-mr9h-45p9-fg8h", "https://www.vulncheck.com/advisories/froxlor-before-2.3.7-information-disclosure-via-customer-email-php", "https://nvd.nist.gov/vuln/detail/CVE-2026-90936"], "fixes": ["2.3.7"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-90935", "noindex": false, "published": "2026-09-14T12:48:30.063Z", "modified": "2026-10-08T15:25:59.984Z", "cvss": 5.3, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N", "severity": "medium", "epss": 0.00295, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-90935", "title": "Froxlor before 2.3.7 Authorization Bypass via Mysqls.add API", "description": "Froxlor before 2.3.7 fails to validate the mysql_server parameter against a customer's allowed_mysqlserver allowlist in the Mysqls.add API command. Attackers can supply a disallowed server index to create MySQL databases and users on forbidden servers, bypassing per-customer access controls.", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-q4rm-m6xh-5pv7", "https://www.vulncheck.com/advisories/froxlor-before-2.3.7-authorization-bypass-via-mysqls-add-api", "https://nvd.nist.gov/vuln/detail/CVE-2026-90935"], "fixes": ["2.3.7"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2024-58383", "noindex": false, "published": "2026-09-14T12:48:23.488Z", "modified": "2026-10-08T15:21:13.919Z", "cvss": 8.4, "cvss_vector": "CVSS:4.0/AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:L/SC:N/SI:N/SA:N", "severity": "high", "epss": 0.00155, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2024-58383", "title": "Froxlor before 2.2.0 Insecure File Permissions mysql.conf", "description": "Froxlor before 2.2.0 (affected up to and including 2.2.0-rc3) generates /etc/pure-ftpd/db/mysql.conf with mode 0644 via the XML configuration templates in lib/configfiles/, even though the file contains the Froxlor SQL user's password. On systems where the parent directories are world readable (the default on Debian 12), any unprivileged local user able to execute commands or code on the host — including virtual users without SSH access who can upload PHP/CGI scripts — can read the file and obtain the Froxlor database credentials. Database access can then be leveraged to alter an administrator's password hash and TOTP seed, log in as a Froxlo", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-34qg-65m4-f23m", "https://www.vulncheck.com/advisories/froxlor-before-2.2.0-insecure-file-permissions-mysql-conf", "https://nvd.nist.gov/vuln/detail/CVE-2024-58383"], "fixes": ["2.2.0"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-55593", "noindex": false, "published": "2026-08-18T20:18:01.526Z", "modified": "2026-08-19T18:20:14.720Z", "cvss": 6.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:H/A:N", "severity": "medium", "epss": 0.00256, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-55593", "title": "Froxlor: CSRF Vulnerability in Froxlor AJAX Endpoint — Missing Cross-Site Request Forgery Protection", "description": "Froxlor is open source server administration software. Prior to 2.3.8, the standalone lib/ajax.php entry point bypasses the centralized request validation in lib/init.php, and Ajax::handle in lib/Froxlor/Ajax/Ajax.php checks only for a valid session before routing state-changing requests. The editapikey action in Ajax::editApiKey updates allowed_from and valid_until without validating a CSRF token, while templates/Froxlor/assets/js/jquery/apikeys.js sends no token because the endpoint does not require one. An unauthenticated attacker can induce an authenticated administrator's browser to submit a forged request that adds an attacker-controlle", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-xpr4-8vp6-c87j", "https://github.com/froxlor/froxlor/commit/5f540fe361e7e13e8c5a32805b793a25e9e26a0e", "https://github.com/froxlor/froxlor/releases/tag/2.3.8"], "fixes": ["2.3.8"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-54347", "noindex": false, "published": "2026-08-18T20:16:36.659Z", "modified": "2026-08-19T18:20:22.274Z", "cvss": 8.7, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N", "severity": "high", "epss": 0.00416, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-54347", "title": "Froxlor: Stored XSS in DNS TXT Record Content Allows Customer-to-Admin Account Takeover", "description": "Froxlor is open source server administration software. Prior to 2.3.8, DNS TXT record content accepted by lib/Froxlor/Api/Commands/DomainZones.php can contain HTML special characters, lib/Froxlor/UI/Callbacks/Text.php returns the content from Text::wordwrap without HTML escaping, and templates/Froxlor/table/table.html.twig renders the callback result with the raw filter. An authenticated customer with DNS editor access can store JavaScript-bearing content in a TXT record. When an administrator views the affected domain's DNS configuration, the payload executes automatically in the administrator's browser session, which can expose session data", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-43gm-9rr3-cx7g", "https://github.com/froxlor/froxlor/commit/a1d8f425b11ef7597949018814afa056a842cba0", "https://github.com/froxlor/froxlor/releases/tag/2.3.8"], "fixes": ["2.3.8"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-54348", "noindex": false, "published": "2026-08-18T20:15:31.866Z", "modified": "2026-08-19T19:21:07.139Z", "cvss": 7.2, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H", "severity": "high", "epss": 0.00655, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-54348", "title": "Froxlor: Second-Order SQL Injection via `Admins.add` `ipaddress` Parameter Allows Full Database Exfiltration", "description": "Froxlor is open source server administration software. Prior to 2.3.8, the Admins.add and Admins.update endpoints in lib/Froxlor/Api/Commands/Admins.php accept an attacker-controlled ipaddress array and store it as JSON in panel_admins.ip without enforcing numeric element types. When the poisoned account later calls IpsAndPorts.listing, lib/Froxlor/Api/Commands/IpsAndPorts.php decodes the array and concatenates its elements into a SQL IN clause without casting or parameterization; the same unsafe pattern is present in lib/Froxlor/Api/Commands/Domains.php. An authenticated administrator with change_serversettings permission can store a UNION-b", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-w27m-rmmf-g5w4", "https://github.com/froxlor/froxlor/commit/a1eaca5a1601c8a30e00814a4fc73ad0c185f89e", "https://github.com/froxlor/froxlor/releases/tag/2.3.8"], "fixes": ["2.3.8"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-54543", "noindex": false, "published": "2026-08-18T20:12:12.161Z", "modified": "2026-08-19T13:14:03.622Z", "cvss": 5.4, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L", "severity": "medium", "epss": 0.00447, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-54543", "title": "Froxlor DomainZones.add allows DNS zone-file RR injection via record/type fields", "description": "Froxlor is open source server administration software. Prior to 2.3.8, the DomainZones.add API command in lib/Froxlor/Api/Commands/DomainZones.php accepts user-controlled record and type values without rejecting line delimiters, tab characters, semicolons, or unsupported DNS record types before lib/Froxlor/Dns/DnsEntry.php serializes the values into a BIND zone file. An authenticated customer with DNS-zone permissions can place a crafted value in the record field, or use the related type-field variant, to create additional resource-record lines that bypass Froxlor's field-level validation. BIND accepts the injected records, allowing modificat", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-5rw4-4665-cvwf", "https://github.com/froxlor/froxlor/commit/a4f09f09fa71337b6cdff364d0a641d631a0130a", "https://github.com/froxlor/froxlor/releases/tag/2.3.8"], "fixes": ["2.3.8"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-62988", "noindex": false, "published": "2026-08-18T20:10:37.562Z", "modified": "2026-08-21T19:13:15.665Z", "cvss": 9, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:L", "severity": "critical", "epss": 0.00627, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-62988", "title": "Froxlor: Credential and 2FA secret disclosure via Froxlor API endpoints", "description": "Froxlor is open source server administration software. From 2.3.7 until 2.3.8, the Customers.get, Customers.listing, Admins.get, Admins.listing, Ftps.get, and Ftps.listing API commands in lib/Froxlor/Api/Commands/Customers.php, lib/Froxlor/Api/Commands/Admins.php, and lib/Froxlor/Api/Commands/Ftps.php retrieve full database rows and return them without removing password and data_2fa fields. An authenticated API caller with permission to use these endpoints can obtain customer, administrator, and FTP password hashes as well as Base32-encoded TOTP seeds for administrator and customer accounts. Password hashes can be cracked offline, and TOTP se", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-7788-ghfq-c6mh", "https://github.com/froxlor/froxlor/commit/52a43fb826bb9a058faf9c39feeef7ac4444ceba", "https://github.com/froxlor/froxlor/commit/8667fa3a4d77d6e322b7b8f7b9edbc1613ab5797"], "fixes": ["2.3.8"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-52793", "noindex": false, "published": "2026-08-18T20:09:33.330Z", "modified": "2026-08-19T15:23:31.946Z", "cvss": 8.1, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N", "severity": "high", "epss": 0.00325, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-52793", "title": "Froxlor: API Authentication bypasses 2FA Authentication", "description": "Froxlor is open source server administration software. Prior to 2.3.7, the API authentication path in lib/Froxlor/Api/FroxlorRPC.php and FroxlorRPC::validateAuth accepts an API key and secret for an administrator or customer account without checking type_2fa, validating a TOTP code, or invoking FroxlorTwoFactorAuth. The web interface requires a second factor for accounts with two-factor authentication enabled, but the API grants access after validating only the API credentials, expiration, API permission, and account status. An attacker who obtains an API key and secret for a protected account can call the available API functions without supp", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-f9rx-7wf7-jr36", "https://github.com/froxlor/froxlor/commit/7fc21dc6f8d22673e4ddc765b710c9d3f85cb001", "https://github.com/froxlor/froxlor/releases/tag/2.3.7"], "fixes": ["2.3.7"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-41237", "noindex": false, "published": "2026-06-04T17:55:19.361Z", "modified": "2026-06-05T20:07:53.069Z", "cvss": 8.6, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N", "severity": "high", "epss": 0.00269, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-41237", "title": "Froxlor has an incomplete fix for CVE-2026-30932", "description": "Froxlor is open source server administration software. In version 2.3.6 and earlier, the LOC record regex uses `\\s+` which matches newlines (allowing embedded newlines to pass), TLSA `matchingType=0` has no upper bound on hex data length, and all validators return raw input without zone-file escaping. Version 2.3.7 contains an updated patch.", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-j6fm-9rfm-j5hx", "https://github.com/froxlor/froxlor/commit/b34829262dc3", "https://github.com/froxlor/froxlor/releases/tag/2.3.7"], "fixes": ["2.3.7"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-41236", "noindex": false, "published": "2026-06-04T17:52:10.066Z", "modified": "2026-06-08T14:32:22.356Z", "cvss": 8.8, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H", "severity": "high", "epss": 0.00366, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-41236", "title": "Froxlor has privilege escalation in SSH key synchronization via symlinked `authorized_keys` path", "description": "Froxlor is open source server administration software. Version 2.3.6 contains a symlink-following flaw in the root-owned SSH key synchronization path used for customer FTP users. The provisioning code appends public keys to `~/.ssh/authorized_keys` under a customer-controlled home directory without verifying that the target path is not a symbolic link. If an attacker controls a shell-enabled customer account and can modify files inside the assigned home directory, the attacker can replace `~/.ssh/authorized_keys` with a symlink to `/root/.ssh/authorized_keys`. When Froxlor's privileged cron task later synchronizes SSH keys, it appends the att", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-mq5v-pxpm-8jw2", "https://github.com/froxlor/froxlor/releases/tag/2.3.7", "https://nvd.nist.gov/vuln/detail/CVE-2026-41236"], "fixes": ["2.3.7"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-41235", "noindex": false, "published": "2026-06-04T17:50:09.899Z", "modified": "2026-06-08T18:29:21.384Z", "cvss": 8.6, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:P", "severity": "high", "epss": 0.00228, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-41235", "title": "Froxlor has an authorization bypass in FTP shell assignment via missing server-side `available_shells` enforcement", "description": "Froxlor is open source server administration software. Version 2.3.6 lets administrators configure `system.available_shells` as the approved shell list that customers may assign to FTP users. However, the server-side FTP account handlers do not enforce that whitelist when processing add or edit requests. As a result, an authenticated customer with shell delegation enabled can submit an arbitrary shell such as `/bin/bash` even when the panel UI only offers more restricted choices. In deployments that use the default `nssextrausers` integration, the attacker-controlled shell is then propagated into the system account database, leading to real h", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-gcv3-5v9q-fmhh", "https://github.com/froxlor/froxlor/releases/tag/2.3.7", "https://nvd.nist.gov/vuln/detail/CVE-2026-41235"], "fixes": ["2.3.7"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-41234", "noindex": false, "published": "2026-06-04T17:47:12.538Z", "modified": "2026-06-04T19:02:10.231Z", "cvss": 7.6, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:L/I:H/A:L", "severity": "high", "epss": 0.0027, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-41234", "title": "Froxlor: BIND Zone File Injection via TXT Record Content", "description": "Froxlor is open source server administration software. Prior to version 2.3.7, the `DomainZones.add` API endpoint does not sanitize newline characters in TXT record content. An authenticated customer with DNS editing enabled can inject newlines into TXT record values, which break out of the record line in the generated BIND zone file. This enables injection of arbitrary BIND directives (`$INCLUDE`, `$GENERATE`) and arbitrary DNS records (A, MX, CNAME) into the zone file written to disk by the DNS rebuild cron. This is an incomplete fix for CVE-2026-30932 (GHSA-x6w6-2xwp-3jh6), which patched the same newline injection for LOC, RP, SSHFP, and T", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-37m5-m4q3-fc6x", "https://github.com/advisories/GHSA-x6w6-2xwp-3jh6", "https://github.com/froxlor/froxlor/releases/tag/2.3.7"], "fixes": ["2.3.7"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-41233", "noindex": false, "published": "2026-04-23T04:00:19.011Z", "modified": "2026-04-23T12:26:22.883Z", "cvss": 5.4, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L", "severity": "medium", "epss": 0.00264, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-41233", "title": "Froxlor has a Reseller Domain Quota Bypass via Unvalidated adminid Parameter in Domains.add()", "description": "Froxlor is open source server administration software. Prior to version 2.3.6, in `Domains.add()`, the `adminid` parameter is accepted from user input and used without validation when the calling reseller does not have the `customers_see_all` permission. This allows a reseller to attribute newly created domains to any other admin, bypassing their own domain quota (since the wrong admin's `domains_used` counter is incremented) and potentially exhausting another admin's quota. Version 2.3.6 fixes the issue.", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-jvx4-xv3m-hrj4", "https://github.com/froxlor/froxlor/commit/bf47ba15329506e9f9662f9462463932aa80dff5", "https://github.com/froxlor/froxlor/releases/tag/2.3.6"], "fixes": ["2.3.6"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-41232", "noindex": false, "published": "2026-04-23T03:54:55.765Z", "modified": "2026-04-23T14:50:19.516Z", "cvss": 5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:L/A:N", "severity": "medium", "epss": 0.00231, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-41232", "title": "Froxlor has an Email Sender Alias Domain Ownership Bypass via Wrong Array Index that Allows Cross-Customer Email Spoofing", "description": "Froxlor is open source server administration software. Prior to version 2.3.6, in `EmailSender::add()`, the domain ownership validation for full email sender aliases uses the wrong array index when splitting the email address, passing the local part instead of the domain to `validateLocalDomainOwnership()`. This causes the ownership check to always pass for non-existent \"domains,\" allowing any authenticated customer to add sender aliases for email addresses on domains belonging to other customers. Postfix's `sender_login_maps` then authorizes the attacker to send emails as those addresses. Version 2.3.6 fixes the issue.", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-vmjj-qr7v-pxm6", "https://github.com/froxlor/froxlor/commit/77d04badf549d5f8429828f0fbc69bc37a35e07a", "https://github.com/froxlor/froxlor/releases/tag/2.3.6"], "fixes": ["2.3.6"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-41231", "noindex": false, "published": "2026-04-23T03:52:42.587Z", "modified": "2026-04-23T16:23:03.549Z", "cvss": 7.5, "cvss_vector": "CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:H/A:H", "severity": "high", "epss": 0.00414, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-41231", "title": "Froxlor has Incomplete Symlink Validation in DataDump.add() that Allows Arbitrary Directory Ownership Takeover via Cron", "description": "Froxlor is open source server administration software. Prior to version 2.3.6, `DataDump.add()` constructs the export destination path from user-supplied input without passing the `$fixed_homedir` parameter to `FileDir::makeCorrectDir()`, bypassing the symlink validation that was added to all other customer-facing path operations (likely as the fix for CVE-2023-6069). When the ExportCron runs as root, it executes `chown -R` on the resolved symlink target, allowing a customer to take ownership of arbitrary directories on the system. Version 2.3.6 contains an updated fix.", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-75h4-c557-j89r", "https://github.com/froxlor/froxlor/commit/2987b0e8806ef12b532410050ad76d13d673a87d", "https://github.com/froxlor/froxlor/releases/tag/2.3.6"], "fixes": ["2.3.6"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-41230", "noindex": false, "published": "2026-04-23T03:47:11.258Z", "modified": "2026-04-23T13:58:27.592Z", "cvss": 8.5, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:L", "severity": "high", "epss": 0.00347, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-41230", "title": "Froxlor has a BIND Zone File Injection via Unsanitized DNS Record Content in DomainZones::add()", "description": "Froxlor is open source server administration software. Prior to version 2.3.6, `DomainZones::add()` accepts arbitrary DNS record types without a whitelist and does not sanitize newline characters in the `content` field. When a DNS type not covered by the if/elseif validation chain is submitted (e.g., `NAPTR`, `PTR`, `HINFO`), content validation is entirely bypassed. Embedded newline characters in the content survive `trim()` processing, are stored in the database, and are written directly into BIND zone files via `DnsEntry::__toString()`. An authenticated customer can inject arbitrary DNS records and BIND directives (`$INCLUDE`, `$ORIGIN`, `$", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-47hf-23pw-3m8c", "https://github.com/froxlor/froxlor/commit/47a8af5d9523cb6ec94567405cfc2e294d3a1442", "https://github.com/froxlor/froxlor/releases/tag/2.3.6"], "fixes": ["2.3.6"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-41229", "noindex": false, "published": "2026-04-23T03:44:25.617Z", "modified": "2026-04-23T12:31:15.671Z", "cvss": 9.1, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:H/I:H/A:H", "severity": "critical", "epss": 0.0048, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-41229", "title": "Froxlor has a PHP Code Injection via Unescaped Single Quotes in userdata.inc.php Generation (MysqlServer API)", "description": "Froxlor is open source server administration software. Prior to version 2.3.6, `PhpHelper::parseArrayToString()` writes string values into single-quoted PHP string literals without escaping single quotes. When an admin with `change_serversettings` permission adds or updates a MySQL server via the API, the `privileged_user` parameter (which has no input validation) is written unescaped into `lib/userdata.inc.php`. Since this file is `require`d on every request via `Database::getDB()`, an attacker can inject arbitrary PHP code that executes as the web server user on every subsequent page load. Version 2.3.6 contains a patch.", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-gc9w-cc93-rjv8", "https://github.com/froxlor/froxlor/commit/3589ddf93ab59eb2a8971f0f56cbf6266d03c4ae", "https://github.com/froxlor/froxlor/releases/tag/2.3.6"], "fixes": ["2.3.6"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-41228", "noindex": false, "published": "2026-04-23T03:41:47.479Z", "modified": "2026-04-23T14:48:07.640Z", "cvss": 10, "cvss_vector": "CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:H", "severity": "critical", "epss": 0.00524, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-41228", "title": "Froxlor has Local File Inclusion via path traversal in API `def_language` parameter that leads to Remote Code Execution", "description": "Froxlor is open source server administration software. Prior to version 2.3.6, the Froxlor API endpoint `Customers.update` (and `Admins.update`) does not validate the `def_language` parameter against the list of available language files. An authenticated customer can set `def_language` to a path traversal payload (e.g., `../../../../../var/customers/webs/customer1/evil`), which is stored in the database. On subsequent requests, `Language::loadLanguage()` constructs a file path using this value and executes it via `require`, achieving arbitrary PHP code execution as the web server user. Version 2.3.6 fixes the issue.", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-w59f-67xm-rxx7", "https://github.com/froxlor/froxlor/commit/bc5e6dbaa90e6f3573129da640595e8c770e1d0c", "https://github.com/froxlor/froxlor/releases/tag/2.3.6"], "fixes": ["2.3.6"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}, {"id": "CVE-2026-30932", "noindex": false, "published": "2026-03-24T18:46:13.137Z", "modified": "2026-03-25T13:31:13.459Z", "cvss": 8.6, "cvss_vector": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N", "severity": "high", "epss": 0.00565, "kev": false, "exploits": [], "stacks": [{"name": "php", "path": "vulns/stack/php", "slug": "php"}], "path": "vulns/cve-2026-30932", "title": "Froxlor is vulnerable to BIND zone file injection via unsanitized DNS record content in DomainZones API", "description": "Froxlor is open source server administration software. Prior to version 2.3.5, the DomainZones.add API endpoint (accessible to customers with DNS enabled) does not validate the content field for several DNS record types (LOC, RP, SSHFP, TLSA). An attacker can inject newlines and BIND zone file directives (e.g. $INCLUDE) into the zone file that gets written to disk when the DNS rebuild cron job runs. This issue has been patched in version 2.3.5.", "references": ["https://github.com/froxlor/froxlor/security/advisories/GHSA-x6w6-2xwp-3jh6", "https://github.com/froxlor/froxlor/commit/b34829262dc32818b37f6a1eabb426d0b277a86b", "https://github.com/froxlor/froxlor/releases/tag/2.3.5"], "fixes": ["2.3.5"], "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}]}], "total": 60, "unknown_count": 0, "release_unconfirmed": false, "page": 1, "pages": 3, "filtered": false, "noindex": false, "filters": {}, "page_size": 20, "products": [{"name": "froxlor/froxlor", "path": "vulns/packagist/froxlor%2Ffroxlor", "ecosystem": "Packagist"}], "stacks": [{"name": "system", "path": "vulns/stack/system", "slug": "system"}, {"name": "web", "path": "vulns/stack/web", "slug": "web"}, {"name": "php", "path": "vulns/stack/php", "slug": "php"}, {"name": "python", "path": "vulns/stack/python", "slug": "python"}, {"name": "node", "path": "vulns/stack/node", "slug": "node"}, {"name": "database", "path": "vulns/stack/database", "slug": "database"}, {"name": "containers", "path": "vulns/stack/containers", "slug": "containers"}, {"name": "network", "path": "vulns/stack/network", "slug": "network"}, {"name": "applications", "path": "vulns/stack/applications", "slug": "applications"}], "versions": ["2.3.7", "2.3.6", "2.3.5", "2.3.4", "2.3.3", "2.3.2", "2.3.1", "2.3.0-rc1", "2.3.0", "2.2.8", "2.2.7", "2.2.6"], "stats": {"recent": 0, "kev": 0}, "lastmod": "2026-10-08T15:26:00.569Z", "early_advisories": [], "license": "Подборку PatchFirst и наши дополнения (приоритеты, ранние предупреждения, тексты, сводки и агрегаты) можно свободно использовать для собственных целей, включая внутренние задачи бизнеса. Перепродажа, коммерческое распространение и массовое зеркалирование этой подборки или дополнений допускаются только по письменному соглашению с оператором. При любом использовании или публикации подборки или наших дополнений указывайте PatchFirst (https://ru.patchfirst.dev/vulns/) с этой ссылкой на страницу ленты своего региона. Исходные записи открытых источников остаются под их лицензиями и условиями. Эти условия не ограничивают ваши права на исходные данные, которые можно получить у источников напрямую.", "terms_url": "https://ru.patchfirst.dev/vulns/#feed-terms", "attribution": {"name": "PatchFirst", "url": "https://ru.patchfirst.dev/vulns/"}, "source_changes": "PatchFirst отбирает, нормализует и объединяет записи; могут добавляться сводки и переводы. Новости указываются ссылкой на первоисточник в самой записи.", "sources": [{"id": "cve", "name": "CVE List / CVE.org", "url": "https://www.cve.org/", "license": "CVE Terms of Use", "terms_url": "https://www.cve.org/Legal/TermsOfUse", "notice": "Copyright © 1999–2021, The MITRE Corporation. LICENSE Submissions : For all materials you submit to the Common Vulnerabilities and Exposures (CVE™), you hereby grant to The MITRE Corporation (MITRE) and all CVE Numbering Authorities (CNAs) a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute such materials and derivative works. Unless required by applicable law or agreed to in writing, you provide such materials on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. CVE Usage : MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE™). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. DISCLAIMERS ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN \"AS IS\" BASIS AND THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE MITRE CORPORATION, ITS BOARD OF TRUSTEES, OFFICERS, AGENTS, AND EMPLOYEES, DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION THEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE."}, {"id": "osv", "name": "OSV", "url": "https://osv.dev/", "terms_url": "https://google.github.io/osv.dev/data/", "terms": "Лицензии исходных баз различаются; см. каталог источников."}, {"id": "kev", "name": "CISA KEV", "url": "https://www.cisa.gov/known-exploited-vulnerabilities-catalog", "license": "CC0-1.0", "terms_url": "https://github.com/cisagov/kev-data/blob/develop/LICENSE"}, {"id": "epss", "name": "FIRST EPSS", "url": "https://www.first.org/epss/", "terms_url": "https://www.first.org/epss/faq", "terms": "Оценки доступны свободно; запрашивается указание источника (FIRST EPSS, оценки подготовлены Empirical Security)."}, {"id": "github-advisory", "name": "GitHub Advisory Database", "url": "https://github.com/advisories", "license": "CC-BY-4.0", "terms_url": "https://github.com/github/advisory-database/blob/main/LICENSE.md"}, {"id": "exploitdb", "name": "Exploit-DB", "url": "https://www.exploit-db.com/", "license": "GPL-2.0", "terms_url": "https://gitlab.com/exploit-database/exploitdb/-/blob/main/LICENSE.md"}, {"id": "metasploit", "name": "Metasploit", "url": "https://github.com/rapid7/metasploit-framework", "license": "BSD-3-Clause", "terms_url": "https://github.com/rapid7/metasploit-framework/blob/master/LICENSE", "notice": "Copyright (c) 2006-2026, Rapid7, Inc.\nLicense: BSD-3-clause\n Redistribution and use in source and binary forms, with or without modification,\n are permitted provided that the following conditions are met:\n .\n * Redistributions of source code must retain the above copyright notice,\n this list of conditions and the following disclaimer.\n .\n * Redistributions in binary form must reproduce the above copyright notice,\n this list of conditions and the following disclaimer in the documentation\n and/or other materials provided with the distribution.\n .\n * Neither the name of Rapid7, Inc. nor the names of its contributors\n may be used to endorse or promote products derived from this software\n without specific prior written permission.\n .\n THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\" AND\n ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\n WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE\n DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR\n ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES\n (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;\n LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON\n ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT\n (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS\n SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."}, {"id": "nuclei", "name": "Nuclei Templates", "url": "https://github.com/projectdiscovery/nuclei-templates", "license": "MIT", "terms_url": "https://github.com/projectdiscovery/nuclei-templates/blob/main/LICENSE.md", "notice": "MIT License\n\nCopyright (c) 2025 ProjectDiscovery, Inc.\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE."}, {"id": "linux-kernel", "name": "Linux kernel releases", "url": "https://www.kernel.org/", "license": "CC-BY-SA-4.0", "terms_url": "https://www.kernel.org/legal.html", "notice": "Copyright (C) 1997-2014 by The Linux Kernel Organization, Inc."}]}