---
id: CVE-2026-121008
title: >-
  SQL::Abstract::Tree versions before 2.000001_04 for Perl allow cross-site
  scripting via unescaped SQL text and bind values in the html profile
summary: >-
  SQL::Abstract::Tree versions before 2.000001_04 for Perl allow cross-site
  scripting via unescaped SQL text and bind values in the html profile.


  The html profile wraps keywords and placeholders in span elements and breaks
  lines with br e…
severity: none
cwe:
  - CWE-79
product: SQL-Abstract
affected:
  - SQL-Abstract < 2.000001_04
published: '2026-11-04'
updated: '2026-11-04'
sourceUpdated: '2026-11-04T14:36:13.201Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-121008'
references:
  - url: >-
      https://github.com/dbsrgits/sql-abstract/commit/85a75fcde3e09da5181dee07a4eccba76ad94305.patch
  - url: 'https://metacpan.org/release/GETTY/SQL-Abstract-2.000001_04/changes'
tags:
  - cve.org
ingestedAt: '2026-11-05T21:36:00.388Z'
---

## Overview

SQL::Abstract::Tree versions before 2.000001_04 for Perl allow cross-site scripting via unescaped SQL text and bind values in the html profile.

The html profile wraps keywords and placeholders in span elements and breaks lines with br elements, so its output is meant to go into a page as is. The format method does not HTML-escape the SQL text or the bind values it fills in around that markup.

An application that renders SQL formatted with the html profile, such as in a debug panel or query log, allows an attacker who controls a bind value or part of the SQL text to embed JavaScript in the page.

## Affected

- `SQL-Abstract < 2.000001_04`

## Remediation

Upgrade to SQL-Abstract 2.000001_04 or later.
