CVE-2026-104140
QGIS: Stored XSS in WFS3 getFeatures HTML page via unescaped feature attribute values
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.
Attack profile
How easy it is to exploit
- Attack vector
- Network
- Complexity
- Low
- Privileges needed
- None
- User interaction
- Required
What an attacker can affect
- Confidentiality
- Low
- Integrity
- Low
- Availability
- None
Exploit likelihood
What each source reports
CVE List Score used
6.1
QGIS: Stored XSS in WFS3 getFeatures HTML page via unescaped feature attribute values
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.
- Record
CVE-2026-104140- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
EUVDEUVD-2026-97977
6.1
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.
- Record
EUVD-2026-97977- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
NVD
6.1
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.
- Record
CVE-2026-104140- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSV
6.1
QGIS: Stored XSS in WFS3 getFeatures HTML page via unescaped feature attribute values
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.
- Record
CVE-2026-104140- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Weakness
- CWE-79
- Updated
- 2026-11-02
OSVDEBIAN-CVE-2026-104140
6.1
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.
- Record
DEBIAN-CVE-2026-104140- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
OSVUBUNTU-CVE-2026-104140
6.1
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.
- Record
UBUNTU-CVE-2026-104140- CVSS 3.1
- 6.1 Medium
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N - Updated
- 2026-11-02
Affected products
Affected packages
| Package | Affected | Fixed |
|---|---|---|
qgisDebian:12 |
All versions, plus listed versions 3.22.16+dfsg-13.28.10+dfsg-13.28.10+dfsg-1~bpo12+13.28.10+dfsg-1~exp13.28.11+dfsg-1 Show 45 moreShow less3.28.11+dfsg-1~bpo12+13.28.11+dfsg-1~exp13.28.11+dfsg-23.28.12+dfsg-13.28.12+dfsg-1~bpo12+13.28.12+dfsg-1~exp13.28.13+dfsg-13.28.13+dfsg-1~bpo12+13.28.13+dfsg-1~exp13.28.14+dfsg-13.28.14+dfsg-1~bpo12+13.28.14+dfsg-1~exp13.28.15+dfsg-13.28.15+dfsg-1.1~exp13.28.15+dfsg-1~bpo12+13.28.15+dfsg-1~exp13.28.15+dfsg-2~exp13.28.4+dfsg-1~exp13.28.5+dfsg-1~exp13.28.6+dfsg-1~exp13.28.7+dfsg-13.28.7+dfsg-1~exp13.28.8+dfsg-13.28.8+dfsg-1~bpo12+13.28.8+dfsg-1~exp13.28.9+dfsg-13.28.9+dfsg-1~bpo11+13.28.9+dfsg-1~bpo12+13.28.9+dfsg-1~exp13.34.10+dfsg-13.34.10+dfsg-1~bpo12+13.34.10+dfsg-1~exp13.34.11+dfsg-13.34.11+dfsg-1~bpo12+13.34.11+dfsg-1~exp13.34.12+dfsg-13.34.12+dfsg-1~bpo12+13.34.12+dfsg-1~exp13.34.13+dfsg-13.34.13+dfsg-1~bpo12+13.34.13+dfsg-1~exp13.34.14+dfsg-13.34.14+dfsg-1~bpo12+13.34.14+dfsg-1~exp13.34.15+dfsg-1 |
None known |
qgisDebian:13 |
All versions, plus listed versions 3.40.10+dfsg-13.40.10+dfsg-1~bpo13+13.40.10+dfsg-1~exp13.40.11+dfsg-13.40.11+dfsg-1~bpo13+1 Show 40 moreShow less3.40.12+dfsg-13.40.12+dfsg-1~bpo13+13.40.13+dfsg-13.40.13+dfsg-23.40.13+dfsg-2~bpo13+13.40.14+dfsg-13.40.14+dfsg-1~bpo13+13.40.15+dfsg-13.40.15+dfsg-1~bpo13+13.40.6+dfsg-13.40.7+dfsg-1~exp13.40.8+dfsg-1~exp13.40.9+dfsg-13.40.9+dfsg-1~exp13.44.10+dfsg-13.44.10+dfsg-1~exp13.44.10+dfsg-23.44.10+dfsg-2~bpo13+13.44.11+dfsg-13.44.11+dfsg-1~bpo13+13.44.11+dfsg-1~exp13.44.12+dfsg-13.44.12+dfsg-1~bpo13+13.44.12+dfsg-1~exp13.44.13+dfsg-13.44.13+dfsg-1~bpo13+13.44.13+dfsg-1~exp13.44.13+dfsg-23.44.13+dfsg-33.44.14+dfsg-13.44.14+dfsg-1~bpo13+13.44.14+dfsg-1~exp13.44.15+dfsg-13.44.15+dfsg-1~bpo13+13.44.8+dfsg-13.44.8+dfsg-1~bpo13+13.44.8+dfsg-1~exp13.44.9+dfsg-13.44.9+dfsg-1~bpo13+13.44.9+dfsg-1~exp1 |
None known |
qgisDebian:14 |
before 3.44.12+dfsg-1, plus listed versions 3.40.10+dfsg-13.40.10+dfsg-1~bpo13+13.40.10+dfsg-1~exp13.40.11+dfsg-13.40.11+dfsg-1~bpo13+1 Show 29 moreShow less3.40.12+dfsg-13.40.12+dfsg-1~bpo13+13.40.13+dfsg-13.40.13+dfsg-23.40.13+dfsg-2~bpo13+13.40.14+dfsg-13.40.14+dfsg-1~bpo13+13.40.15+dfsg-13.40.15+dfsg-1~bpo13+13.40.6+dfsg-13.40.7+dfsg-1~exp13.40.8+dfsg-1~exp13.40.9+dfsg-13.40.9+dfsg-1~exp13.44.10+dfsg-13.44.10+dfsg-1~exp13.44.10+dfsg-23.44.10+dfsg-2~bpo13+13.44.11+dfsg-13.44.11+dfsg-1~bpo13+13.44.11+dfsg-1~exp13.44.12+dfsg-1~bpo13+13.44.12+dfsg-1~exp13.44.8+dfsg-13.44.8+dfsg-1~bpo13+13.44.8+dfsg-1~exp13.44.9+dfsg-13.44.9+dfsg-1~bpo13+13.44.9+dfsg-1~exp1 |
3.44.12+dfsg-1 |
qgisUbuntu:16.04:LTS |
All versions, plus listed versions 2.8.3+dfsg-12.8.3+dfsg-52.8.4+dfsg-12.8.6+dfsg-1~exp22.8.6+dfsg-12.8.6+dfsg-1build12.8.6+dfsg-1ubuntu1 |
None known |
qgisUbuntu:18.04:LTS |
All versions, plus listed versions 2.14.18+dfsg-12.14.20+dfsg-1build22.14.21+dfsg-12.14.21+dfsg-1build12.14.22+dfsg-22.18.17+dfsg-1 |
None known |
qgisUbuntu:20.04:LTS |
All versions, plus listed versions 3.4.10+dfsg-1build13.4.10+dfsg-1build23.4.14+dfsg-13.4.15+dfsg-1ubuntu23.10.3+dfsg-1ubuntu13.10.4+dfsg-1ubuntu2 |
None known |
qgisUbuntu:22.04:LTS |
All versions, plus listed versions 3.10.14+dfsg-1ubuntu23.16.14+dfsg-1build13.16.15+dfsg-13.22.4+dfsg-33.22.4+dfsg-3build1 |
None known |
qgisUbuntu:24.04:LTS |
All versions, plus listed versions 3.28.10+dfsg-13.28.12+dfsg-1build13.28.13+dfsg-13.28.14+dfsg-13.28.15+dfsg-1 Show 4 moreShow less3.34.4+dfsg-13.34.4+dfsg-43.34.4+dfsg-4build13.34.4+dfsg-4build2 |
None known |
qgisUbuntu:26.10 |
All versions, plus listed versions 3.40.15+dfsg-13.44.11+dfsg-1build13.44.12+dfsg-13.44.13+dfsg-13.44.13+dfsg-33.44.13+dfsg-3build1 |
None known |
qgisUbuntu:26.04:LTS |
All versions, plus listed versions 3.40.8+dfsg-1~exp13.40.12+dfsg-1build13.40.12+dfsg-1build23.40.13+dfsg-2build13.40.14+dfsg-13.40.14+dfsg-1build13.40.15+dfsg-1 |
None known |
History
| Recorded | Changed | Sources |
|---|---|---|
| first indexed | CVE List, EUVD, NVD, OSV |
Dates are when Every CVE recorded each change. Upstream dates may differ.
In short
CVE-2026-104140 is a medium vulnerability (CVSS 6.1) in Qgis, published October 12, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.24%, the 15th percentile. Fixed in qgis 3.44.12+dfsg-1.
References
github.com/qgis/QGIS/security/advisories/GHSA-cr49-pm9v-m788
github.com/qgis/QGIS/pull/66616
github.com/qgis/QGIS/pull/67044
github.com/qgis/QGIS/commit/1930e81c918818a4f5412219f8f7e470d2709f91
github.com/qgis/QGIS/commit/ca76fcac616dbf1c0446514fd6517296eb7c6904
github.com/qgis/QGIS/releases/tag/final-3_44_12
Left out here: 78 versions. The JSON record has them.