{"id":"CVE-2026-45106","aliases":["EUVD-2026-36114","GHSA-6wxc-8mgq-w26m","PYSEC-2026-3415","openSUSE-SU-2026:11051-1"],"status":"published","title":"Weblate: Stored HTML injection in editor search preview","description":"Weblate is a web based localization tool. Prior to version 2026.5, Weblate's live search preview renders unit source and context as HTML without escaping. Any contributor whose content reaches those fields stores HTML and CSS that runs inside the authenticated editor of every user who runs a matching search. This issue has been patched in version 2026.5.","severity":{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-10","score":0.00208,"percentile":0.10991,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-79"],"published":"2026-05-15T17:14:37Z","modified":"2026-10-28T02:31:13Z","fixes":[{"ecosystem":"PyPI","package":"weblate","fixed_in":["2026.5"],"sources":["ghsa","osv"]}],"affected":[{"source":"ghsa","ecosystem":"PyPI","package":"weblate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2026.5"}]}]},{"source":"osv","ecosystem":"PyPI","package":"weblate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2026.5"}]}],"versions":["1.9","2.0","2.1","2.10","2.10.1","2.11","2.12","2.13","2.13.1","2.14","2.14.1","2.15","2.16","2.17","2.17.1","2.18","2.19","2.19.1","2.2","2.20","2.3","2.4","2.5","2.6","2.7","2.8","2.9","3.0","3.0.1","3.1","3.1.1","3.10","3.10.1","3.10.2","3.10.3","3.11","3.11.1","3.11.2","3.11.3","3.2","3.2.1","3.2.2","3.3","3.4","3.5","3.5.1","3.6","3.6.1","3.7","3.7.1","3.8","3.9","3.9.1","4.0","4.0.1","4.0.2","4.0.3","4.0.4","4.1","4.1.1","4.10","4.10.1","4.11","4.11.1","4.11.2","4.12","4.12.1","4.12.2","4.13","4.13.1","4.14","4.14.1","4.14.2","4.15","4.15.1","4.15.2","4.16","4.16.1","4.16.2","4.16.3","4.16.4","4.17","4.18","4.18.1","4.18.2","4.2","4.2.1","4.2.2","4.3","4.3.1","4.3.2","4.4","4.4.1","4.4.2","4.5","4.5.1","4.5.2","4.5.3","4.6","4.6.1","4.6.2","4.7","4.7.1","4.7.2","4.8","4.8.1","4.9","4.9.1","5.0","5.0.1","5.0.2","5.1","5.1.1","5.10","5.10.1","5.10.2","5.10.3","5.10.4","5.11","5.11.1","5.11.3","5.11.4","5.12.1","5.12.2","5.13","5.13.1","5.13.2","5.13.3","5.14","5.14.1","5.14.2","5.14.3","5.15","5.15.1","5.15.2","5.16","5.16.1","5.16.2","5.17","5.17.1","5.2","5.2.1","5.3","5.3.1","5.4","5.4.1","5.4.2","5.4.3","5.5","5.5.2","5.5.3","5.5.4","5.5.5","5.6","5.6.1","5.6.2","5.7","5.7.1","5.7.2","5.8.1","5.8.2","5.8.3","5.8.4","5.9.1","5.9.2"]},{"source":"osv","ecosystem":"PyPI","package":"weblate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"2026.5"}]}],"versions":["1.9","2.0","2.1","2.10","2.10.1","2.11","2.12","2.13","2.13.1","2.14","2.14.1","2.15","2.16","2.17","2.17.1","2.18","2.19","2.19.1","2.2","2.20","2.3","2.4","2.5","2.6","2.7","2.8","2.9","3.0","3.0.1","3.1","3.1.1","3.10","3.10.1","3.10.2","3.10.3","3.11","3.11.1","3.11.2","3.11.3","3.2","3.2.1","3.2.2","3.3","3.4","3.5","3.5.1","3.6","3.6.1","3.7","3.7.1","3.8","3.9","3.9.1","4.0","4.0.1","4.0.2","4.0.3","4.0.4","4.1","4.1.1","4.10","4.10.1","4.11","4.11.1","4.11.2","4.12","4.12.1","4.12.2","4.13","4.13.1","4.14","4.14.1","4.14.2","4.15","4.15.1","4.15.2","4.16","4.16.1","4.16.2","4.16.3","4.16.4","4.17","4.18","4.18.1","4.18.2","4.2","4.2.1","4.2.2","4.3","4.3.1","4.3.2","4.4","4.4.1","4.4.2","4.5","4.5.1","4.5.2","4.5.3","4.6","4.6.1","4.6.2","4.7","4.7.1","4.7.2","4.8","4.8.1","4.9","4.9.1","5.0","5.0.1","5.0.2","5.1","5.1.1","5.10","5.10.1","5.10.2","5.10.3","5.10.4","5.11","5.11.1","5.11.3","5.11.4","5.12.1","5.12.2","5.13","5.13.1","5.13.2","5.13.3","5.14","5.14.1","5.14.2","5.14.3","5.15","5.15.1","5.15.2","5.16","5.16.1","5.16.2","5.17","5.17.1","5.2","5.2.1","5.3","5.3.1","5.4","5.4.1","5.4.2","5.4.3","5.5","5.5.2","5.5.3","5.5.4","5.5.5","5.6","5.6.1","5.6.2","5.7","5.7.1","5.7.2","5.8.1","5.8.2","5.8.3","5.8.4","5.9.1","5.9.2"]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"weblate","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"5.17.1-2.1"}]}],"bundled":2}],"products":[{"vendor":"weblateorg","product":"weblate"}],"references":[{"url":"https://github.com/WeblateOrg/weblate/security/advisories/GHSA-6wxc-8mgq-w26m","tags":["x_refsource_CONFIRM","advisory","web"]},{"url":"https://github.com/WeblateOrg/weblate/pull/19422","tags":["x_refsource_MISC","fix","web"]},{"url":"https://github.com/WeblateOrg/weblate/releases/tag/weblate-2026.5","tags":["x_refsource_MISC","web"]},{"url":"https://github.com/WeblateOrg/weblate/commit/8b0adf1d0b43dfc0d09da4b878857b2288b84f2d","tags":["web"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-45106","tags":["advisory"]},{"url":"https://github.com/advisories/GHSA-6wxc-8mgq-w26m","tags":["advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/45xxx/CVE-2026-45106.json","tags":["advisory"]},{"url":"https://github.com/WeblateOrg/weblate","tags":["package"]},{"url":"https://pypi.org/project/weblate","tags":["package"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-45106","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-50127","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-45106","title":"Weblate: Stored HTML injection in editor search preview","description":"Weblate is a web based localization tool. Prior to version 2026.5, Weblate's live search preview renders unit source and context as HTML without escaping. Any contributor whose content reaches those fields stores HTML and CSS that runs inside the authenticated editor of every user who runs a matching search. This issue has been patched in version 2026.5.","status":"published","published":"2026-06-10T19:56:49.797Z","modified":"2026-06-11T14:05:00.742Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T13:46:32.755125Z"}],"euvd":[{"id":"EUVD-2026-36114","description":"Weblate is a web based localization tool. Prior to version 2026.5, Weblate's live search preview renders unit source and context as HTML without escaping. Any contributor whose content reaches those fields stores HTML and CSS that runs inside the authenticated editor of every user who runs a matching search. This issue has been patched in version 2026.5.","status":"published","published":"2026-06-10T19:56:49Z","modified":"2026-06-11T14:05:00Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T18:20:44.570445Z"}],"ghsa":[{"id":"GHSA-6wxc-8mgq-w26m","title":"Weblate: Stored HTML injection in editor search preview","description":"### Impact\nWeblate's live search preview renders unit `source` and `context` as HTML without escaping. Any contributor whose content reaches those fields stores HTML and CSS that runs inside the authenticated editor of every user who runs a matching search.\n\n### Patches\n* https://github.com/WeblateOrg/weblate/pull/19422\n\n### Workarounds\nOnly the search preview on the selected views is affected.\n\n### Resources\nWeblate thanks @adrgs for reporting this issue responsibly via GitHub.","status":"published","published":"2026-05-15T17:14:37Z","modified":"2026-06-11T13:30:17Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:40:26.12116Z"}],"nvd":[{"id":"CVE-2026-45106","description":"Weblate is a web based localization tool. Prior to version 2026.5, Weblate's live search preview renders unit source and context as HTML without escaping. Any contributor whose content reaches those fields stores HTML and CSS that runs inside the authenticated editor of every user who runs a matching search. This issue has been patched in version 2026.5.","status":"published","published":"2026-06-10T20:17:27.22Z","modified":"2026-10-26T11:10:00.157Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T14:12:23.485267Z"}],"osv":[{"id":"CVE-2026-45106","title":"Weblate: Stored HTML injection in editor search preview","description":"Weblate is a web based localization tool. Prior to version 2026.5, Weblate's live search preview renders unit source and context as HTML without escaping. Any contributor whose content reaches those fields stores HTML and CSS that runs inside the authenticated editor of every user who runs a matching search. This issue has been patched in version 2026.5.","status":"published","published":"2026-06-10T19:56:49.797Z","modified":"2026-10-28T02:31:13.379169576Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:45:05.172514Z"},{"id":"GHSA-6wxc-8mgq-w26m","title":"Weblate: Stored HTML injection in editor search preview","description":"### Impact\nWeblate's live search preview renders unit `source` and `context` as HTML without escaping. Any contributor whose content reaches those fields stores HTML and CSS that runs inside the authenticated editor of every user who runs a matching search.\n\n### Patches\n* https://github.com/WeblateOrg/weblate/pull/19422\n\n### Workarounds\nOnly the search preview on the selected views is affected.\n\n### Resources\nWeblate thanks @adrgs for reporting this issue responsibly via GitHub.","status":"published","published":"2026-05-15T17:14:37Z","modified":"2026-07-13T16:43:44.239573535Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"medium"}],"cwes":["CWE-79"],"updated_at":"2026-11-02T15:46:40.308826Z"},{"id":"PYSEC-2026-3415","title":"Weblate: Stored HTML injection in editor search preview","description":"### Impact\nWeblate's live search preview renders unit `source` and `context` as HTML without escaping. Any contributor whose content reaches those fields stores HTML and CSS that runs inside the authenticated editor of every user who runs a matching search.\n\n### Patches\n* https://github.com/WeblateOrg/weblate/pull/19422\n\n### Workarounds\nOnly the search preview on the selected views is affected.\n\n### Resources\nWeblate thanks @adrgs for reporting this issue responsibly via GitHub.","status":"published","published":"2026-07-13T15:19:08.568413Z","modified":"2026-07-13T16:32:10.41646533Z","cvss":[{"version":"3.1","score":4.6,"vector":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:L/I:L/A:N","level":"medium"}],"updated_at":"2026-11-02T15:52:56.847083Z"},{"id":"openSUSE-SU-2026:11051-1","title":"weblate-5.17.1-2.1 on GA media","description":"These are all security issues fixed in the weblate-5.17.1-2.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-06-17T00:00:00Z","modified":"2026-06-18T08:15:05.430874253Z","updated_at":"2026-11-02T16:58:38.95195Z"}]}}
