{"id":"CVE-2026-121435","kind":"vulnerability","aliases":["CVE-2026-121435"],"related":[],"title":"Froxlor: customers can create MySQL databases despite admin ban","description":"Froxlor before 2.3.15 contains an authorization bypass vulnerability that allows authenticated customers to create MySQL databases by calling the Mysqls.add API endpoint, which lacks the customer_hide_options check. Customers can invoke Mysqls.add even when the admin has disabled the MySQL feature, creating unauthorized databases within their own quota despite the policy.","summary":"Froxlor, a web hosting control panel, lets authenticated customers call the Mysqls.add API even when the administrator has disabled MySQL for them. An attacker with a customer account can create databases within their quota, bypassing the hosting policy.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["froxlor","hosting","runtime","self-hosted"],"not_affected_if":["managed-hosting","no-customer-accounts"],"how_to_check":"- Check the Froxlor version with the panel's version info or `froxlor/lib/version.php` in the install directory\n- Review whether the admin has disabled the MySQL feature for customers (customer_hide_options setting)","fix":"- Froxlor `2.3.15` or later (the advisory states the fix is in versions before 2.3.15 being affected)","status":"open","published_at":"2026-11-03T15:17:34+00:00","first_seen_at":"2026-11-03T15:22:00+00:00","triaged_at":"2026-11-03T15:23:31+00:00","updated_at":"2026-11-03T15:23:31+00:00","category":"runtime","confidence":0.6,"triage":{"at":"2026-11-03T15:23:31Z","model":"claude-haiku-5-5","output":{"fix":"- Froxlor `2.3.15` or later (the advisory states the fix is in versions before 2.3.15 being affected)","reach":"network","title":"Froxlor: customers can create MySQL databases despite admin ban","impact":"low","summary":"Froxlor, a web hosting control panel, lets authenticated customers call the Mysqls.add API even when the administrator has disabled MySQL for them. An attacker with a customer account can create databases within their quota, bypassing the hosting policy.","audience":"businesses","category":"runtime","nicknames":[],"who_cares":["froxlor","self-hosted","hosting"],"confidence":0.6,"fix_status":"available","needs_auth":"yes","worst_case":"Customers create unauthorized MySQL databases within their quota","analyst_note":"","how_to_check":"- Check the Froxlor version with the panel's version info or `froxlor/lib/version.php` in the install directory\n- Review whether the admin has disabled the MySQL feature for customers (customer_hide_options setting)","plain_action":"","needs_analyst":false,"not_affected_if":["managed-hosting","no-customer-accounts"],"who_is_affected":"Hosting providers and organisations running a self-hosted Froxlor panel where customers have accounts. Exposure depends on the admin having disabled MySQL for customers, which is the policy this bypasses. Installations without customer accounts can skip it.","user_interaction":"no","needs_special_setup":"yes","severity_if_unknown":"unknown"},"cost_usd":0.000681,"input_tokens":4192,"output_tokens":523,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-121435':12A,15A '-2026':11A,14A '2.3.15':62C 'account':49B 'admin':8A,96C 'administr':38B 'allow':69C 'api':34B,80C 'attack':45B 'authent':29B,70C 'author':65C 'ban':9A 'bypass':56B,66C 'call':31B,77C 'check':88C 'contain':63C 'control':26B 'creat':4A,51B,73C,102C 'custom':2A,30B,48B,71C,85C,89C 'cve':10A,13A 'databas':6A,52B,75C,104C 'despit':7A,109C 'disabl':40B,98C 'endpoint':81C 'even':35B,93C 'featur':101C 'froxlor':1A,16B,22B,60C 'hide':86C 'host':17B,21B,25B,58B 'invok':91C 'lack':83C 'let':28B 'mysql':5A,41B,74C,100C 'mysqls.add':33B,79C,92C 'option':87C 'panel':27B 'polici':59B,111C 'quota':55B,108C 'runtim':18B 'self':20B 'self-host':19B 'unauthor':103C 'vulner':67C 'web':24B 'within':53B,105C","nicknames":[],"mitigations":[],"who_affected":"Hosting providers and organisations running a self-hosted Froxlor panel where customers have accounts. Exposure depends on the admin having disabled MySQL for customers, which is the policy this bypasses. Installations without customer accounts can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"available","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["froxlor","hosting","medium","runtime","selfhosted"],"first_public_at":"2026-10-20T07:24:06+00:00","kev":null,"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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","cvss_by":"disclosure@vulncheck.com","poc_count":0,"sources":[{"source":"nvd","external_id":"CVE-2026-121435","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-121435","severity":null,"published_at":"2026-11-03T15:17:34+00:00","modified_at":"2026-11-03T15:17:34+00:00","first_seen_at":"2026-11-03T15:22:00+00:00","fetched_at":"2026-11-03T15:22:00+00:00","note":null}],"documents":[{"id":58395,"url":"https://github.com/froxlor/froxlor/security/advisories/GHSA-6vjr-55fw-r5x2","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-20T07:24:06+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":58396,"url":"https://www.vulncheck.com/advisories/froxlor-before-2.3.15-authorization-bypass-via-mysqls-add-api","title":"Third-party advisory: www.vulncheck.com","kind":"advisory","source":"nvd","publisher":"research","text":null,"published_at":null,"relation":"advisory","confidence":null,"note":"Third-party advisory: www.vulncheck.com"}],"notice":"Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai"}