Skip to content

Commit ee56151

Browse files
author
Daniel Neto
committed
fix: Add request validation to prevent untrusted access in category and plugin scripts
GHSA-ffw8-fwxp-h64w
1 parent f9492f5 commit ee56151

15 files changed

+15
-3
lines changed

objects/categoryAddNew.json.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
$obj->msg = __("Permission denied");
2020
die(json_encode($obj));
2121
}
22+
forbidIfIsUntrustedRequest('categoryAddNew');
2223

2324
$objCat = new Category(intval(@$_POST['id']));
2425
$objCat->setName($_POST['name']);

objects/categoryDelete.json.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
if (!Category::canCreateCategory()) {
1111
die('{"error":"' . __("Permission denied") . '"}');
1212
}
13+
forbidIfIsUntrustedRequest('categoryDelete');
1314
require_once 'category.php';
1415
$obj = new Category($_POST['id']);
1516

objects/configurationClearCache.json.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
$obj->clearCache = false;
1212
$obj->deleteALLCache = false;
1313
$obj->deleteAllSessionCache = false;
14+
forbidIfIsUntrustedRequest('configurationClearCache');
1415
$_SESSION['user']['sessionCache']['getAllCategoriesClearCache'] = 1;
1516

1617
if (!Permissions::canClearCache() || !empty($_REQUEST['sessionOnly'])) {

objects/configurationGenerateSiteMap.json.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
$obj->msg = __("Permission denied");
1717
die(json_encode($obj));
1818
}
19+
forbidIfIsUntrustedRequest('configurationGenerateSiteMap');
1920
$sitemap = siteMap();
2021

2122
if (empty($sitemap)) {

objects/notifySubscribers.json.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
if (!User::canUpload()) {
1111
forbiddenPage('You can not notify');
1212
}
13+
forbidIfIsUntrustedRequest('notifySubscribers');
1314
$user_id = User::getId();
1415
// if admin bring all subscribers
1516
if (User::isAdmin()) {

objects/pluginAddDataObject.json.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
if (!User::isAdmin()) {
1010
die('{"error":"'.__("Permission denied").'"}');
1111
}
12+
forbidIfIsUntrustedRequest('pluginAddDataObject');
1213
if (empty($_POST['id'])) {
1314
die('{"error":"'.__("ID can't be blank").'"}');
1415
}

objects/pluginRunUpdateScript.json.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
if (!User::isAdmin()) {
1010
forbiddenPage('Permission denied');
1111
}
12+
forbidIfIsUntrustedRequest('pluginRunUpdateScript');
1213
if (empty($_POST['name'])) {
1314
forbiddenPage('Name can\'t be blank');
1415
}

objects/userDelete.json.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,6 @@
99
if (!User::isAdmin() || empty($_POST['id'])) {
1010
die('{"error":"'.__("Permission denied").'"}');
1111
}
12+
forbidIfIsUntrustedRequest('userDelete');
1213
$item = new UserGroups($_POST['id']);
1314
echo '{"status":"'.$item->delete().'"}';

objects/userGroupsAddNew.json.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
if (!Permissions::canAdminUserGroups()) {
99
die('{"error":"' . __("Permission denied") . '"}');
1010
}
11+
forbidIfIsUntrustedRequest('userGroupsAddNew');
1112

1213
require_once 'userGroups.php';
1314
$obj = new UserGroups(@$_POST['id']);

objects/userGroupsDelete.json.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
if (!User::isAdmin() || empty($_POST['id'])) {
99
die('{"error":"'.__("Permission denied").'"}');
1010
}
11+
forbidIfIsUntrustedRequest('userGroupsDelete');
1112
require_once 'userGroups.php';
1213
$obj = new UserGroups($_POST['id']);
1314
echo '{"status":"'.$obj->delete().'"}';

0 commit comments

Comments
 (0)