| 标题 | olivier-ls PHP-FTS 0.1 Cross-Site Scripting |
|---|
| 描述 | PHP-FTS (ols/php-fts) before an unreleased fix does not HTML-escape document field values in `SearchEngine::buildHighlights()` before wrapping matched words in HTML highlight tags. The `search($query, highlight: true)` path splits field values into words and concatenates matched words as `$openTag . $word . $closeTag` (default `<mark>...</mark>`) with no `htmlspecialchars()`. When an application indexes attacker-influenced content and renders the returned highlights as HTML, an attacker can inject arbitrary markup (e.g. an `<img src=x onerror=alert(document.cookie)>` payload) that executes in the browser of users viewing search results, leading to stored cross-site scripting (session/cookie theft, account takeover).
Reproduction: https://github.com/sumo166/CVE-apply/blob/main/olivier-ls/php-fts/SearchEngine%20buildHighlights%20Stored%20XSS%20(CWE-79)_cve.md |
|---|
| 来源 | ⚠️ https://github.com/olivier-ls/php-fts/issues/1 |
|---|
| 用户 | summmm (UID 69690) |
|---|
| 提交 | 2026-08-23 07時52分 (28 日前) |
|---|
| 管理 | 2026-09-19 11時01分 (27 days later) |
|---|
| 状态 | 已接受 |
|---|
| VulDB条目 | 407915 [olivier-ls PHP-FTS 直到 1.1.2 Search Engine src/SearchEngine.php buildHighlights 查询 跨网站脚本] |
|---|
| 积分 | 20 |
|---|