CVE-2026-104140
6.1MediumPublished 12 Oct 2026 · NVD status: Awaiting Analysis · AI triage by gemini-3.8-flash
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
- Impact
- Limited impact
- Weakness
- CWE-79
Impact
Remote attackers can execute malicious scripts in a user's browser session under the QGIS Server origin, stealing session data or impersonating them. An attacker needs write access to a published vector layer, plus a victim who views the affected WFS3 HTML items page.
Root cause
QGIS Server renders feature property values in WFS3 (OGC API Features) HTML templates without escaping HTML characters.
Affected systems
QGIS Server prior to 3.44.12, and versions 4.0.0 through 4.2.3.
CVSS v3.1 · CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Fix & remediation
Upgrade QGIS Server to version 3.44.12 or later. If upgrading is delayed, restrict write access to published vector layers or avoid serving WFS3/OGC API Features HTML endpoints directly to users.
$ sudo apt-get update && sudo apt-get install --only-upgrade qgis-serverAI-suggested. Run it in staging first and check it against the vendor advisory. Why?
NVD description
QGIS is a free, open source, cross-platform geographic information system. Prior to 3.44.12 and 4.0.0 through 4.2.3, QGIS Server renders feature data in WFS3 (OGC API Features) HTML responses without HTML escaping. Attacker-controlled feature.properties values from a published writable vector layer reach resources/server/api/ogc/templates/wfs3/getFeatures.html through QgsServerOgcApiHandler::htmlDump and the if_nullptr_null_str callback. A user who opens an items HTML page can execute stored markup or script in the QGIS Server origin, which can expose the viewer's session data or issue authenticated requests with the viewer's privileges. This issue is fixed in version 3.44.12.
References
- https://github.com/qgis/QGIS/commit/1930e81c918818a4f5412219f8f7e470d2709f91
- https://github.com/qgis/QGIS/commit/ca76fcac616dbf1c0446514fd6517296eb7c6904
- https://github.com/qgis/QGIS/pull/66616
- https://github.com/qgis/QGIS/pull/67044
- https://github.com/qgis/QGIS/releases/tag/final-3_44_12
- https://github.com/qgis/QGIS/security/advisories/GHSA-cr49-pm9v-m788
- https://github.com/qgis/QGIS/security/advisories/GHSA-cr49-pm9v-m788