POJIA破甲
地图 / Author → arbitrary file deletion anywhere on disk (site takeover) via `POST /wp/v2/media/<id>/finalize` poisoning `_wp_attachment_metadata`

Author → arbitrary file deletion anywhere on disk (site takeover) via `POST /wp/v2/media/<id>/finalize` poisoning `_wp_attachment_metadata`

路径遍历 / 路径遍历 / #3931777

厂商
WordPress
严重程度
高危 · CVSS 9.9
赏金
—
弱点
路径遍历
研究员
@jakubk
披露日期
2026-08-28
资产
Gutenberg
CVE
CVE-2018-12895

该报告还没有中文解读。

原文摘录

摘自原文(28529 字符中的一小部分)
The client-side-media-processing endpoint `POST /wp/v2/media/<id>/finalize` writes attacker-supplied strings **verbatim** into the attachment's `_wp_attachment_metadata`, including the top-level `file` key and `sizes[*]['file']`. There is no `sanitize_callback`, no `pattern`, no …
原文中的代码
			'/' . $this->rest_base . '/(?P<id>[\d]+)/finalize',
			array(
				array(
					'methods'             => WP_REST_Server::CREATABLE,
					'callback'            => array( $this, 'finalize_item' ),
					'permission_callback' => array( $this, 'edit_media_item_permissions_check' ),

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

时间线

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

同类报告

Arbitrary file read via the UploadsRewriter when moving and issueGitLab · 2020-04-27 · $20,000Arbitrary file read via the bulk imports UploadsPipelineGitLab · 2022-03-21 · $29,000Misuse of an authentication cookie combined with a path traversal on app.starbucks.com permitted access to restricted dataStarbucks · 2020-06-16Arbitrary file read during project importGitLab · 2021-05-24 · $16,000Burp Suite Professional: browser-powered crawl can write attacker-controlled files through file input handlingPortSwigger Web Security · 2026-06-14 · $5,000Path traversal in filename in LINE Mac clientLY Corporation · 2020-07-31