Payments are experiencing issues due to temporary restrictions in Russia. If your payment does not go through, please submit a support request.Our support team is available 24/7 — we are always here to help with hosting and server issues.We are now accepting requests for dedicated server rental and colocation services in our data center.Reminder: we recommend enabling backups for additional data protection.A new VPS/VDS lineup with NVMe storage and improved performance is now available.Maintenance work on some servers has been completed. All services are operating normally.
Mass personal message broadcast in Bitrix24

MODULE FOR 1C-BITRIX

KURATOV

Mass personal message broadcast in Bitrix24

The module enables mass sending of personal messages in Bitrix24. It supports file attachments, text formatting, and sending messages on behalf of another user with a request for the required access rights. The following variables are available for message personalization: #NAME#, #LAST_NAME#, and #SECOND_NAME#.

Technical details

Published
12 August 2025
Updated
14 September 2026
Version
1.0.6
Installed
Fewer than 50 times
Compatible editions
Corporate Portal
Responsive design
No
Composite support
No
Compatible with Sites24
No
Developer
KURATOV

What this solution does

The module enables mass sending of personal messages in Bitrix24. It supports file attachments, text formatting, and sending messages on behalf of another user with a request for the required access rights. The following variables are available for message personalization: #NAME#, #LAST_NAME#, and #SECOND_NAME#.

General iT can install “Mass personal message broadcast in Bitrix24”, configure its settings and verify its operation in the existing project.

UPDATE HISTORY

What’s new

6 releases
1.0.6 (14.09.2026)Latest update

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.

1.0.5 (11.09.2026)

Security fix.

Authentication bypass, defense-in-depth (components/masspersonalmessage.sender/class.php, executeComponent): AJAX actions and file uploads of the component checked only the CSRF token (check_bitrix_sessid), but not authorization and access rights to the module—the component relied on the including page having performed this check. Since the component is reusable (can be included on any page/template), authorization and access_module checks have been moved inside the component itself—now it is protected regardless of where it is included.

1.0.4 (09.09.2026)

Security fix.

IDOR on attachments (components/masspersonalmessage.sender/class.php, handleSendAction): the server only checked for the existence of a file by ID, not its ownership by the module — a user with access rights could attach any file from the Bitrix storage to the mailing by guessing the ID. Now it additionally checks that the file was uploaded via this module's widget (MODULE_ID = kuratovru.masspersonalmessage).

1.0.3 (09.09.2026)

Security fix.

Stored XSS (components/masspersonalmessage.sender/class.php, handleRequestAccess): the requested user's name (user_name), constructed from the NAME/LAST_NAME/SECOND_NAME profile fields, was returned in the JSON response without escaping and inserted on the client side via innerHTML. The user_name value is now escaped using htmlspecialcharsbx() before being sent in the response.

1.0.2 (09.09.2026)

Security fixes.

Authentication bypass (admin/access_module.php): the AJAX handler (add_user/delete_user) was executed before checking administrator rights—any authorized user could grant or revoke access to the module for themselves. The rights check has been moved to the very beginning of the file and is unconditionally performed for all actions.

IDOR (components/masspersonalmessage.sender/class.php): handlers for approving/rejecting/revoking a request to send on behalf of another did not verify that the current user is a participant in the record. A check comparing the current user with the record fields has been added before performing the action.

XSS (class.php, handleRequestAccess): requested_user_id from the request was inserted into the JSON response without type casting. The value is now cast to (int) immediately after retrieval.

XSS (templates/.default/template.php): user names (USER_NAME), formed from profile fields, were output to the template without escaping. All user output is now escaped via htmlspecialcharsbx().

Information leak (install/public/index.php): the Bitrix debug mode (BX_DEBUG) was enabled on the module's public page, revealing error details and internal paths. Debug mode has been disabled.

USER EXPERIENCE

Solution reviews

How does this solution work in a real project? Share your experience and help others choose.

Be the first to share your experience

There are no reviews of this solution on git.ru yet. Tell us what worked well and what could be improved.

Verified purchaseAdd a key if you wish. A verified review gets a badge, priority placement and more rating weight.

Open to every clientJust sign in to your account. A key is optional; all reviews are moderated.

YOUR EXPERIENCE MATTERS

Your review

YOUR PROJECT INFRASTRUCTURE

A home for your website

BEFORE YOU ORDER

Let’s go through the details.

What does the price cover?
The displayed price covers the solution itself. Platform licensing, installation and customisation are checked separately. If the page offers bundles, select the required option before submitting a request.
How do I check compatibility?
Compare the supported editions and solution version in the technical details with your project. Before installing on a live website, we recommend making a backup and checking the solution in a test environment.
How much does this solution’s renewal cost?
The current renewal price is 1,495 ₽. Before you order, a manager will confirm the renewal period and whether it applies to your licence.
Can you help with implementation?
We can help install the module, check its settings and verify how it works in your project. Compatibility with other customisations and the scope of work are assessed before we begin.

GENERAL iT

Let’s discuss your project

Получатель: ООО «Дженерал Ай Ти Рус»

1C-BITRIX

Install solution

Enter a domain with or without https://. The installer will open in your website control panel in a new tab.

Solution screenshots

Solution screenshot