Description
The register_routes function in wp-includes/rest-api/endpoints/class-wp-rest-posts-controller.php in the REST API in WordPress 4.7.x before 4.7.2 does not require an integer identifier, which allows remote attackers to modify arbitrary pages via a request for wp-json/wp/v2/posts followed by a numeric value and a non-numeric value, as demonstrated by the wp-json/wp/v2/posts/123?id=123helloworld URI.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
n/a n/a
n/aaffected
References
- https://codex.wordpress.org/Version_4.7.2 ↗
- https://make.wordpress.org/core/2017/02/01/disclosure-of-additional-security-fix-in-wordpress-4-7-2/ ↗
- https://blogs.akamai.com/2017/02/wordpress-web-api-vulnerability.html ↗
- https://gist.github.com/leonjza/2244eb15510a0687ed93160c623762ab ↗
- https://blog.sucuri.net/2017/02/content-injection-vulnerability-wordpress-rest-api.html ↗
- https://github.com/WordPress/WordPress/commit/e357195ce303017d517aff944644a7a1232926f7 ↗
- https://wordpress.org/news/2017/01/wordpress-4-7-2-security-release/ ↗
- http://www.openwall.com/lists/oss-security/2017/02/10/16 ↗
- http://www.securitytracker.com/id/1037731 ↗