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.
PUBLISHED5.2CWE-79
QGIS: Stored XSS in WFS3 getFeatures HTML page via unescaped feature attribute values
Problem type
Affected products
qgis
QGIS
< 3.44.12 - AFFECTED
>= 4.0.0, <= 4.2.3 - AFFECTED
References
https://github.com/qgis/QGIS/security/advisories/GHSA-cr49-pm9v-m788
https://github.com/qgis/QGIS/security/advisories/GHSA-cr49-pm9v-m788
https://github.com/qgis/QGIS/pull/66616
https://github.com/qgis/QGIS/pull/66616
https://github.com/qgis/QGIS/pull/67044
https://github.com/qgis/QGIS/pull/67044
https://github.com/qgis/QGIS/commit/1930e81c918818a4f5412219f8f7e470d2709f91
https://github.com/qgis/QGIS/commit/1930e81c918818a4f5412219f8f7e470d2709f91
https://github.com/qgis/QGIS/commit/ca76fcac616dbf1c0446514fd6517296eb7c6904
https://github.com/qgis/QGIS/commit/ca76fcac616dbf1c0446514fd6517296eb7c6904
https://github.com/qgis/QGIS/releases/tag/final-3_44_12
https://github.com/qgis/QGIS/releases/tag/final-3_44_12
JSON source
https://cveawg.mitre.org/api/cve/CVE-2026-104140Click to expand
{
"dataType": "CVE_RECORD",
"dataVersion": "5.2",
"cveMetadata": {
"cveId": "CVE-2026-104140",
"assignerOrgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"assignerShortName": "GitHub_M",
"dateUpdated": "2026-10-12T21:53:29.041Z",
"dateReserved": "2026-10-01T18:47:30.995Z",
"datePublished": "2026-10-12T21:53:29.041Z",
"state": "PUBLISHED"
},
"containers": {
"cna": {
"providerMetadata": {
"orgId": "a0819718-46f1-4df5-94e2-005712e83aaa",
"shortName": "GitHub_M",
"dateUpdated": "2026-10-12T21:53:29.041Z"
},
"title": "QGIS: Stored XSS in WFS3 getFeatures HTML page via unescaped feature attribute values",
"descriptions": [
{
"lang": "en",
"value": "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."
}
],
"affected": [
{
"vendor": "qgis",
"product": "QGIS",
"versions": [
{
"version": "< 3.44.12",
"status": "affected"
},
{
"version": ">= 4.0.0, <= 4.2.3",
"status": "affected"
}
]
}
],
"problemTypes": [
{
"descriptions": [
{
"lang": "en",
"description": "CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')",
"cweId": "CWE-79",
"type": "CWE"
}
]
}
],
"references": [
{
"url": "https://github.com/qgis/QGIS/security/advisories/GHSA-cr49-pm9v-m788",
"name": "https://github.com/qgis/QGIS/security/advisories/GHSA-cr49-pm9v-m788",
"tags": [
"x_refsource_CONFIRM"
]
},
{
"url": "https://github.com/qgis/QGIS/pull/66616",
"name": "https://github.com/qgis/QGIS/pull/66616",
"tags": [
"x_refsource_MISC"
]
},
{
"url": "https://github.com/qgis/QGIS/pull/67044",
"name": "https://github.com/qgis/QGIS/pull/67044",
"tags": [
"x_refsource_MISC"
]
},
{
"url": "https://github.com/qgis/QGIS/commit/1930e81c918818a4f5412219f8f7e470d2709f91",
"name": "https://github.com/qgis/QGIS/commit/1930e81c918818a4f5412219f8f7e470d2709f91",
"tags": [
"x_refsource_MISC"
]
},
{
"url": "https://github.com/qgis/QGIS/commit/ca76fcac616dbf1c0446514fd6517296eb7c6904",
"name": "https://github.com/qgis/QGIS/commit/ca76fcac616dbf1c0446514fd6517296eb7c6904",
"tags": [
"x_refsource_MISC"
]
},
{
"url": "https://github.com/qgis/QGIS/releases/tag/final-3_44_12",
"name": "https://github.com/qgis/QGIS/releases/tag/final-3_44_12",
"tags": [
"x_refsource_MISC"
]
}
],
"metrics": [
{
"cvssV3_1": {
"version": "3.1",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N",
"attackVector": "NETWORK",
"attackComplexity": "LOW",
"privilegesRequired": "NONE",
"userInteraction": "REQUIRED",
"scope": "CHANGED",
"confidentialityImpact": "LOW",
"integrityImpact": "LOW",
"availabilityImpact": "NONE",
"baseScore": 6.1,
"baseSeverity": "MEDIUM"
}
}
]
}
}
}