{"id":"CVE-2026-126374","kind":"vulnerability","aliases":["CVE-2026-126374"],"related":[],"title":"Vvveb CMS: crafted form field names allow SQL injection by admins","description":"Vvveb through 1.0.8.6 contains an SQL injection vulnerability because the @KEYS(:each) macro emits PHP array keys as backtick-quoted INSERT column names without escaping, and several procedures in admin/sql/mysqli/product.sql and admin_auth_token.sql omit the @FILTER guard. Authenticated back-office users able to save products can submit product_<feature> POST array keys containing backticks to redirect bound values into unexposed columns or break SQL statements.","summary":"Vvveb, a PHP content management system, builds INSERT column names from unescaped form array keys, so backticks in those keys can change the SQL statement. An authenticated back-office user who can save products can use this to write into unexposed columns or break SQL statements.","severity":"medium","cvss":5.3,"epss":null,"exploited":false,"exploited_at":null,"products":[],"ecosystems":[],"tags":["mysql","package","php","self-hosted","vvveb"],"not_affected_if":["no-back-office-users","versions-above-1.0.8.6"],"how_to_check":"- Check the installed Vvveb version against the affected range through 1.0.8.6.\n- Look for the `@KEYS(:each)` macro and the `admin/sql/mysqli/product.sql` and `admin_auth_token.sql` procedures in the codebase.","fix":null,"status":"open","published_at":"2026-11-13T10:17:39+00:00","first_seen_at":"2026-11-13T10:47:17+00:00","triaged_at":"2026-11-13T10:57:21+00:00","updated_at":"2026-11-13T10:57:21+00:00","category":"package","confidence":0.6,"triage":{"at":"2026-11-13T10:57:21Z","model":"claude-haiku-5-5","output":{"fix":"unknown","reach":"internet","title":"Vvveb CMS: crafted form field names allow SQL injection by admins","impact":"medium","summary":"Vvveb, a PHP content management system, builds INSERT column names from unescaped form array keys, so backticks in those keys can change the SQL statement. An authenticated back-office user who can save products can use this to write into unexposed columns or break SQL statements.","audience":"businesses","category":"package","nicknames":[],"who_cares":["vvveb","php","mysql","self-hosted"],"confidence":0.6,"fix_status":"unknown","needs_auth":"yes","worst_case":"Authenticated user alters SQL and reads or writes database columns","analyst_note":"Confirm the fixed version and the vendor advisory on github.com and the VulnCheck page; the sources here do not state a fix.","how_to_check":"- Check the installed Vvveb version against the affected range through 1.0.8.6.\n- Look for the `@KEYS(:each)` macro and the `admin/sql/mysqli/product.sql` and `admin_auth_token.sql` procedures in the codebase.\n- unknown","plain_action":"","product_name":"","needs_analyst":true,"not_affected_if":["no-back-office-users","versions-above-1.0.8.6"],"who_is_affected":"Sites running Vvveb through 1.0.8.6 where back-office users can save products. The attacker needs a back-office account that can save products, so sites without multiple admin or editor accounts are lower risk. Sites with no back-office login exposure can skip it.","user_interaction":"no","product_ecosystem":"","needs_special_setup":"no","severity_if_unknown":"medium"},"cost_usd":0.000751,"input_tokens":4671,"output_tokens":568,"severity_before":"medium"},"analyst_status":null,"analyst_note":null,"search":"'-126374':14A,17A '-2026':13A,16A '1.0.8.6':74C 'abl':114C 'admin':11A 'admin/sql/mysqli/product.sql':102C 'admin_auth_token.sql':104C 'allow':7A 'array':38B,87C,122C 'authent':51B,109C 'back':53B,111C 'back-offic':52B,110C 'backtick':41B,91C,125C 'backtick-quot':90C 'bound':128C 'break':69B,134C 'build':31B 'chang':46B 'cms':2A 'column':33B,67B,94C,132C 'contain':75C,124C 'content':28B 'craft':3A 'cve':12A,15A 'emit':85C 'escap':97C 'field':5A 'filter':107C 'form':4A,37B 'guard':108C 'host':23B 'inject':9A,78C 'insert':32B,93C 'key':39B,44B,82C,88C,123C 'macro':84C 'manag':29B 'mysql':18B 'name':6A,34B,95C 'offic':54B,112C 'omit':105C 'packag':19B 'php':20B,27B,86C 'post':121C 'procedur':100C 'product':59B,117C,120C 'quot':92C 'redirect':127C 'save':58B,116C 'self':22B 'self-host':21B 'sever':99C 'sql':8A,48B,70B,77C,135C 'statement':49B,71B,136C 'submit':119C 'system':30B 'unescap':36B 'unexpos':66B,131C 'use':61B 'user':55B,113C 'valu':129C 'vulner':79C 'vvveb':1A,24B,25B,72C 'without':96C 'write':64B","nicknames":[],"mitigations":[],"who_affected":"Sites running Vvveb through 1.0.8.6 where back-office users can save products. The attacker needs a back-office account that can save products, so sites without multiple admin or editor accounts are lower risk. Sites with no back-office login exposure can skip it.","tier":"C","verified":{},"analyst_revisit_at":null,"fix_status":"unknown","audience":"businesses","plain_action":null,"pkeys":[],"ptokens":[],"labels":["medium","mysql","package","php","selfhosted","vvveb"],"campaign_type":null,"search_a":"'-126374':14A,17A '-2026':13A,16A 'admin':11A 'allow':7A 'cms':2A 'craft':3A 'cve':12A,15A 'field':5A 'form':4A 'inject':9A 'name':6A 'sql':8A 'vvveb':1A","search_b":"'array':38B 'authent':51B 'back':53B 'back-offic':52B 'backtick':41B 'break':69B 'build':31B 'chang':46B 'column':33B,67B 'content':28B 'form':37B 'host':23B 'insert':32B 'key':39B,44B 'manag':29B 'mysql':18B 'name':34B 'offic':54B 'packag':19B 'php':20B,27B 'product':59B 'save':58B 'self':22B 'self-host':21B 'sql':48B,70B 'statement':49B,71B 'system':30B 'unescap':36B 'unexpos':66B 'use':61B 'user':55B 'vvveb':24B,25B 'write':64B","search_c":"'1.0.8.6':74C 'abl':114C 'admin/sql/mysqli/product.sql':102C 'admin_auth_token.sql':104C 'array':87C,122C 'authent':109C 'back':111C 'back-offic':110C 'backtick':91C,125C 'backtick-quot':90C 'bound':128C 'break':134C 'column':94C,132C 'contain':75C,124C 'emit':85C 'escap':97C 'filter':107C 'guard':108C 'inject':78C 'insert':93C 'key':82C,88C,123C 'macro':84C 'name':95C 'offic':112C 'omit':105C 'php':86C 'post':121C 'procedur':100C 'product':117C,120C 'quot':92C 'redirect':127C 'save':116C 'sever':99C 'sql':77C,135C 'statement':136C 'submit':119C 'unexpos':131C 'user':113C 'valu':129C 'vulner':79C 'vvveb':72C 'without':96C","cause_entry":null,"cause_path":null,"disclosures_checked_at":null,"first_public_at":"2026-10-29T01:15:42+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-126374","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-126374","severity":null,"published_at":"2026-11-13T10:17:39+00:00","modified_at":"2026-11-13T10:17:39+00:00","first_seen_at":"2026-11-13T10:47:17+00:00","fetched_at":"2026-11-13T10:47:17+00:00","note":null}],"documents":[{"id":144989,"url":"https://github.com/givanz/Vvveb/security/advisories/GHSA-fwp9-mpg4-hh5w","title":"Vendor advisory: github.com","kind":"vendor","source":"nvd","publisher":"vendor","text":null,"published_at":"2026-10-29T01:15:42+00:00","relation":"advisory","confidence":null,"note":"Vendor advisory: github.com"},{"id":144990,"url":"https://www.vulncheck.com/advisories/vvveb-through-1.0.8.6-sql-injection-via-keys-each-array-keys","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"}],"disclosures":[],"exploit_sources":[],"notice":"Free to read, with fair use of about 60 pages a minute. For higher limits or API access: sales@infrastack.ai"}