{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-103974","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","state":"PUBLISHED","assignerShortName":"GitHub_M","dateReserved":"2026-10-01T16:09:08.456Z","datePublished":"2026-10-14T18:17:13.770Z","dateUpdated":"2026-10-14T19:41:15.577Z"},"containers":{"cna":{"title":"lichess.org: Stored HTML Injection via PGN Annotator Tag in Studies","problemTypes":[{"descriptions":[{"cweId":"CWE-79","lang":"en","description":"CWE-79: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')","type":"CWE"}]}],"metrics":[{"cvssV3_1":{"attackComplexity":"LOW","attackVector":"NETWORK","availabilityImpact":"NONE","baseScore":5.4,"baseSeverity":"MEDIUM","confidentialityImpact":"LOW","integrityImpact":"LOW","privilegesRequired":"LOW","scope":"CHANGED","userInteraction":"REQUIRED","vectorString":"CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N","version":"3.1"}}],"references":[{"name":"https://github.com/lichess-org/lila/security/advisories/GHSA-43g7-r6hp-ccf8","tags":["x_refsource_CONFIRM"],"url":"https://github.com/lichess-org/lila/security/advisories/GHSA-43g7-r6hp-ccf8"},{"name":"https://github.com/lichess-org/lila/commit/c54596c9e1569d378fe20f80d4c790c6fdee54c4","tags":["x_refsource_MISC"],"url":"https://github.com/lichess-org/lila/commit/c54596c9e1569d378fe20f80d4c790c6fdee54c4"}],"affected":[{"vendor":"lichess-org","product":"lila","versions":[{"version":"< c54596c9e1569d378fe20f80d4c790c6fdee54c4","status":"affected"}]}],"providerMetadata":{"orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","shortName":"GitHub_M","dateUpdated":"2026-10-14T18:17:13.770Z"},"descriptions":[{"lang":"en","value":"lichess.org is the forever free, adless and open source chess server. Prior to commit c54596c9e1569d378fe20f80d4c790c6fdee54c4, a user who can add a chapter to a study can place attacker-controlled text in the PGN Annotator tag, which becomes Comment.Author.External and is returned verbatim by authorText. When a study node has at least two comments, ui/analyse/src/treeView/inlineView.ts interpolates that author string into HTML passed to the innerHTML hook without escaping it. Opening the affected study can therefore render stored attacker-controlled HTML and CSS for other viewers, including navigation to an attacker-controlled site, content spoofing, and CSS-based data exposure, although the site's content security policy blocks injected JavaScript. This vulnerability is fixed by commit c54596c9e1569d378fe20f80d4c790c6fdee54c4."}],"source":{"advisory":"GHSA-43g7-r6hp-ccf8","discovery":"UNKNOWN"}},"adp":[{"references":[{"url":"https://github.com/lichess-org/lila/security/advisories/GHSA-43g7-r6hp-ccf8","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-10-14T19:40:54.734332Z","id":"CVE-2026-103974","options":[{"Exploitation":"poc"},{"Automatable":"no"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"title":"CISA ADP Vulnrichment","providerMetadata":{"orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","shortName":"CISA-ADP","dateUpdated":"2026-10-14T19:41:15.577Z"}}]}}