Headline
CVE-2021-25036: Changeset 2640944 for all-in-one-seo-pack/trunk/app/Common/Api/Api.php – WordPress Plugin Repository
The All in One SEO WordPress plugin before 4.1.5.3 is affected by a Privilege Escalation issue, which was discovered during an internal audit by the Jetpack Scan team, and may grant bad actors access to protected REST API endpoints they shouldn’t have access to. This could ultimately enable users with low-privileged accounts, like subscribers, to perform remote code execution on affected sites.
Timestamp:
12/07/2021 09:21:37 PM (11 months ago)
benjaminprojas
Message:
4.1.5.3
File:
- all-in-one-seo-pack/trunk/app/Common/Api/Api.php (2 diffs)
Legend:
Unmodified
Added
Removed
all-in-one-seo-pack/trunk/app/Common/Api/Api.php
r2626843
r2640944
226
226
\*/
227
227
public function validateAccess( $request ) {
228
$route = str\_replace( '/' . $this->namespace . '/', '', $request->get\_route() );
228
// NOTE: Since WordPress uses case-insensitive patterns to match routes,
229
// we are forcing everything to lowercase to ensure we have the proper route.
230
// This prevents users with lower privileges from accessing routes they shouldn't.
231
$route = aioseo()->helpers->toLowercase( $request->get\_route() );
232
$route = str\_replace( '/' . $this->namespace . '/', '', $route );
229
233
$routeData = isset( $this->getRoutes()\[ $request->get\_method() \]\[ $route \] ) ? $this->getRoutes()\[ $request->get\_method() \]\[ $route \] : \[\];
230
234
…
…
240
244
}
241
245
246
// If we still have no route data, return false.
247
if ( empty( $routeData ) ) {
248
return false;
249
}
250
251
// If only the access parameter is missing from the array, we aren't checking any additional permissions.
242
252
if ( empty( $routeData\['access'\] ) ) {
243
253
return true;
Note: See TracChangeset for help on using the changeset viewer.