{"id":"CVE-2026-19754","state":"PUBLISHED","title":"Baserow 2.2.0 through 2.3.3 - SQL injection in formula index() JSONB array extraction","description":"Baserow versions 2.2.0 through 2.3.3 contain an SQL injection vulnerability in the index() formula function. A low-privileged authenticated user who can create or modify Formula fields can provide an undocumented fourth argument that is treated as a SQL template and interpolated directly into a PostgreSQL expression. The generated SQL executes through Baserow's database connection with the Baserow PostgreSQL role permissions, allowing data outside the user's workspace permissions to be read or modified.","publishedAt":"2026-09-02T03:29:38.759Z","updatedAt":"2026-10-23T18:30:35.412Z","severity":{"score":8.6,"label":"High","version":"4.0","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","source":"Fluid Attacks"},"assigner":"Fluid Attacks","products":["Baserow Baserow"],"affected":[{"vendor":"Baserow","product":"Baserow","defaultStatus":"unaffected","versions":[{"version":"2.2.0","status":"affected","lessThanOrEqual":"2.3.3","versionType":"semver"}],"platforms":["Windows","MacOS","Linux"]}],"references":["https://fluidattacks.com/es/advisories/superestrella","https://github.com/baserow/baserow","https://github.com/baserow/baserow/commit/e7abc14975124dfe4558ff47fb8b9a25c47d9fcc","https://github.com/baserow/baserow/releases/tag/2.3.4"],"weaknesses":["CWE-89"],"ingestedAt":"2026-10-29T20:11:10.572Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/19xxx/CVE-2026-19754.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-19754","state":"PUBLISHED","datePublished":"2026-09-02T03:29:38.759Z","dateUpdated":"2026-10-23T18:30:35.412Z","assignerShortName":"Fluid Attacks","assignerOrgId":"84fe0718-d6bb-4716-a7e8-81a6d1daa869","dateReserved":"2026-08-13T15:37:56.088Z"},"containers":{"cna":{"title":"Baserow 2.2.0 through 2.3.3 - SQL injection in formula index() JSONB array extraction","descriptions":[{"lang":"en","value":"Baserow versions 2.2.0 through 2.3.3 contain an SQL injection vulnerability in the index() formula function. A low-privileged authenticated user who can create or modify Formula fields can provide an undocumented fourth argument that is treated as a SQL template and interpolated directly into a PostgreSQL expression. The generated SQL executes through Baserow's database connection with the Baserow PostgreSQL role permissions, allowing data outside the user's workspace permissions to be read or modified."}],"affected":[{"vendor":"Baserow","product":"Baserow","defaultStatus":"unaffected","versions":[{"version":"2.2.0","status":"affected","lessThanOrEqual":"2.3.3","versionType":"semver"}],"platforms":["Windows","MacOS","Linux"]}],"references":[{"url":"https://fluidattacks.com/es/advisories/superestrella","tags":["third-party-advisory"]},{"url":"https://github.com/baserow/baserow","tags":["product"]},{"url":"https://github.com/baserow/baserow/commit/e7abc14975124dfe4558ff47fb8b9a25c47d9fcc","tags":["patch"]},{"url":"https://github.com/baserow/baserow/releases/tag/2.3.4","tags":["release-notes"]}],"metrics":[{"format":"CVSS","scenarios":[{"lang":"en","value":"GENERAL"}],"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"LOW","userInteraction":"NONE","vulnConfidentialityImpact":"HIGH","subConfidentialityImpact":"NONE","vulnIntegrityImpact":"HIGH","subIntegrityImpact":"NONE","vulnAvailabilityImpact":"NONE","subAvailabilityImpact":"NONE","exploitMaturity":"NOT_DEFINED","Safety":"NOT_DEFINED","Automatable":"NOT_DEFINED","Recovery":"NOT_DEFINED","valueDensity":"NOT_DEFINED","vulnerabilityResponseEffort":"NOT_DEFINED","providerUrgency":"NOT_DEFINED","version":"4.0","baseSeverity":"HIGH","baseScore":8.6,"vectorString":"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"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-89","lang":"en","description":"CWE-89 Improper Neutralization of Special Elements used in an SQL Command ('SQL Injection')","type":"CWE"}]}],"providerMetadata":{"shortName":"Fluid Attacks","orgId":"84fe0718-d6bb-4716-a7e8-81a6d1daa869","dateUpdated":"2026-10-23T18:30:35.412Z"},"impacts":[{"capecId":"CAPEC-66","descriptions":[{"lang":"en","value":"CAPEC-66 SQL Injection"}]}],"cpeApplicability":[{"operator":"OR","nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:a:baserow:baserow:*:*:windows:*:*:*:*:*","versionStartIncluding":"2.2.0","versionEndIncluding":"2.3.3"},{"vulnerable":true,"criteria":"cpe:2.3:a:baserow:baserow:*:*:macos:*:*:*:*:*","versionStartIncluding":"2.2.0","versionEndIncluding":"2.3.3"},{"vulnerable":true,"criteria":"cpe:2.3:a:baserow:baserow:*:*:linux:*:*:*:*:*","versionStartIncluding":"2.2.0","versionEndIncluding":"2.3.3"}]}]}],"workarounds":[{"lang":"en","value":"Until the upgrade is complete, restrict Formula-field creation and modification to trusted users. Identify Formula definitions containing a fourth index() argument, review database activity for unexpected SQL execution, and rotate database credentials if compromise is suspected.","supportingMedia":[{"type":"text/html","base64":false,"value":"Until the upgrade is complete, restrict Formula-field creation and modification to trusted users. Identify Formula definitions containing a fourth index() argument, review database activity for unexpected SQL execution, and rotate database credentials if compromise is suspected."}]}],"solutions":[{"lang":"en","value":"Upgrade to Baserow 2.3.4 or later. The patch rejects user-supplied four-argument index() formulas and restricts legacy internal SQL templates to an allowlist. Verify the deployed version and run Formula-field regression tests before restoring Formula-field editing permissions.","supportingMedia":[{"type":"text/html","base64":false,"value":"<p>Upgrade to Baserow 2.3.4 or later. The patch rejects user-supplied four-argument index() formulas and restricts legacy internal SQL templates to an allowlist. Verify the deployed version and run Formula-field regression tests before restoring Formula-field editing permissions.</p>"}]}],"timeline":[{"time":"2026-08-12T19:00:00.000Z","lang":"en","value":"Vulnerability discovered"},{"time":"2026-08-13T15:57:00.000Z","lang":"en","value":"Vendor contacted"},{"time":"2026-08-14T10:00:00.000Z","lang":"en","value":"Vendor replied"},{"time":"2026-09-02T19:00:00.000Z","lang":"en","value":"Public disclosure"},{"time":"2026-09-15T14:21:00.000Z","lang":"en","value":"Vulnerability patched"}],"credits":[{"lang":"en","value":"Miguel Gómez","type":"finder"},{"lang":"en","value":"Fluid Attacks' AI SAST Scanner","type":"finder"}],"source":{"discovery":"UNKNOWN"},"x_generator":{"engine":"Vulnogram 0.2.0"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://fluidattacks.com/es/advisories/superestrella","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-09-02T12:57:54.080324Z","id":"CVE-2026-19754","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"total"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-09-02T12:58:27.116Z"}}]}}}