Description
paicoding 1.0.0 through 1.0.3 contains a stored cross-site scripting vulnerability because SeoInjectService embeds user profile text without escaping in an inline JSON-LD script element. Authenticated attackers can add a closing script tag followed by HTML to their profile, executing scripts for visitors of their profile page and stealing the non-HttpOnly f-session cookie.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| itwanger | paicoding | 1.0.0 ≤1.0.3 | — |
References
- https://vul.yulun.ac.cn/20261112/paicoding/
- https://github.com/itwanger/paicoding/issues/137
- https://github.com/itwanger/paicoding/blob/903adce70309d340f7eec51ec3c80cfe3c8326c1/paicoding-ui/src/main/resources/templates/components/layout/header.html#L59
- https://github.com/itwanger/paicoding/blob/903adce70309d340f7eec51ec3c80cfe3c8326c1/paicoding-web/src/main/java/com/github/paicoding/forum/web/global/SeoInjectService.java#L386-L387
- https://www.vulncheck.com/advisories/paicoding-1.0.0-through-1.0.3-stored-xss-via-json-ld-profile-description