Skip to content

Commit 0e25d55

Browse files
sKarki999fwolf-ilias
authored andcommitted
Fix(Soap): Add RBAC 'read' permission check to getSCORMCompletionStatus and hasSCORMCertificate to prevent unauthorized data access.
Signed-off-by: Releasemanager <webmaster@ilias.de>
1 parent 98c3370 commit 0e25d55

1 file changed

Lines changed: 11 additions & 0 deletions

File tree

webservice/soap/classes/class.ilSoapSCORMAdministration.php

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,10 @@ public function hasSCORMCertificate(string $sid, int $ref_id, int $usr_id)
136136
return $this->raiseError("Parent with ID $ref_id has been deleted.", 'Client');
137137
}
138138

139+
if(!$rbacsystem->checkAccess('read', $ref_id)) {
140+
return $this->raiseError('No Permission to read object with ref_id ' . $ref_id, 'Client');
141+
}
142+
139143
$certValidator = new ilCertificateUserCertificateAccessValidator();
140144

141145
return $certValidator->validate($usr_id, $obj_id);
@@ -166,6 +170,13 @@ public function getSCORMCompletionStatus(string $sid, int $a_usr_id, int $a_ref_
166170
);
167171
}
168172

173+
global $DIC;
174+
$rbacsystem = $DIC['rbacsystem'];
175+
176+
if (!$rbacsystem->checkAccess('read', $a_ref_id)) {
177+
return $this->raiseError('No permission to read object with ref_id ' . $a_ref_id, 'Client');
178+
}
179+
169180
include_once 'Services/Tracking/classes/class.ilLPStatus.php';
170181
include_once 'Services/Tracking/classes/class.ilObjUserTracking.php';
171182

0 commit comments

Comments
 (0)