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.
{
"extracted_events": [
{
"cpe": "cpe:2.3:a:wordpress:wordpress:4.7:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.7"
},
{
"last_affected": "4.7"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:wordpress:wordpress:4.7.1:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.7.1"
},
{
"last_affected": "4.7.1"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:wordpress:wordpress:4.7.2:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.7.2"
},
{
"last_affected": "4.7.2"
}
],
"source": "CPE_STRING"
},
{
"range": [
{
"fixed": "e357195ce303017d517aff944644a7a1232926f7"
}
],
"source": "REFERENCES_COMMIT"
}
]
}
{
"extracted_events": [
{
"cpe": "cpe:2.3:a:wordpress:wordpress:4.7:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.7"
},
{
"last_affected": "4.7"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:wordpress:wordpress:4.7.1:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.7.1"
},
{
"last_affected": "4.7.1"
}
],
"source": "CPE_STRING"
},
{
"cpe": "cpe:2.3:a:wordpress:wordpress:4.7.2:*:*:*:*:*:*:*",
"range": [
{
"introduced": "4.7.2"
},
{
"last_affected": "4.7.2"
}
],
"source": "CPE_STRING"
}
]
}