POJIA破甲
地图 / Author → stored XSS in wp-admin: unescaped sub-size filename from attachment metadata breaks out of the `src` attribute in `get_media_item()`

Author → stored XSS in wp-admin: unescaped sub-size filename from attachment metadata breaks out of the `src` attribute in `get_media_item()`

跨站脚本 / 存储型 XSS / #3931771

厂商
WordPress
严重程度
高危 · CVSS 9
赏金
—
弱点
存储型 XSS
研究员
@jakubk
披露日期
2026-08-28
资产
WordPress Core
CVE
—

该报告还没有中文解读。

原文摘录

摘自原文(21739 字符中的一小部分)
`finalize_item()` stores the attacker-supplied `sub_sizes[].file` string verbatim into `_wp_attachment_metadata['sizes'][<name>]['file']` — no `sanitize_file_name()`, no `pattern`, no `sanitize_callback`.
原文中的代码
				$metadata['sizes'] = $metadata['sizes'] ?? array();

				$metadata['sizes'][ $image_size ] = array(
					'width'     => $sub_size['width'] ?? 0,
					'height'    => $sub_size['height'] ?? 0,
					'file'      => $sub_size['file'] ?? '',
					'mime-type' => $sub_size['mime_type'] ?? '', …

默认不展示报告全文。以上为简短摘录,完整复现过程请阅读原文。版权归研究员与 WordPress 所有。

时间线

  • 报告提交
  • 公开披露
阅读 HackerOne 原文 ↗作者 @jakubk · 版权归作者与 WordPress 所有

同类报告

Stored XSS in Wiki pagesGitLab · 2019-09-02Stored XSS on imgur profileImgur · 2019-03-02The return of the <Rockstar Games · 2019-09-24 · $1,000XSS in steam react chat clientValve · 2019-01-07 · $7,500Blind XSS on image uploadCS Money · 2020-12-26 · $1,000Stored XSS VulnerabilityWordPress · 2019-07-18
Author → stored XSS in wp-admin: unescaped sub-size filename from attachment metadata breaks out of the `src` attribute in `get_media_item()` · 破甲 POJIA