Security fixes.
IDOR on attachments, high severity (components/masspersonalmessage.sender/class.php, handleSendAction): The MODULE_ID check for the file was common to all module users, so a user with the access_module right could, by iterating sequential IDs (attachments=[N]), attach a file uploaded by another module user to their own broadcast and obtain its content. Now, when a file is uploaded (handleFileUpload), its owner is recorded in the user's session; when sending (handleSendAction), only files uploaded by the current user in the same session are accepted.
Incorrect field in owner verification during access revocation (handleRevokeAccess): Only the original requester (UF_KMPM_USER_ID) could revoke a permission granted on their behalf, not the identity owner (UF_KMPM_REQUESTED_USER_ID) on whose behalf the permission was granted. As a result, the identity owner could not independently revoke a right they had previously granted. Now, revocation is available to both parties.
Insufficiently strict file upload, defense-in-depth (handleFileUpload): The MFI controller was passed the 'any file' mode (allowUpload=A), and the module identifier and forceMd5 were taken from the request. An explicit allowlist of allowed extensions has been set, a fixed moduleId is used, and forceMd5=false.