Программное обеспечение OpenReception для записи на прием предоставляет платформу для записи на прием со сквозным шифрованием. До версии 1.1.0 обработчик GET в `/api/tenants/{id}/appointments/{appointmentId}` не выполнял проверку авторизации перед возвратом записи о встрече. Любая сторона, которая знает или получает действительный UUID встречи, получает полную строку, включая идентификаторы канала и агента, время и часовой пояс, статус и компоненты зашифрованного текста AES-GCM («encryptedPayload», «iv», «authTag», «dataKey»).
Обработчик DELETE того же файла вызывает `checkPermission(locals, tenantId, true)` перед разрешением удаления. Цель ясна: записи о встречах относятся к клиенту и требуют аутентификации для доступа. В обработчике GET отсутствует эквивалентный вызов.
Цепочка промежуточного программного обеспечения (apiAuthHandle, authGuard) не компенсирует это: пути API полностью обходят authGuard, а apiAuthHandle не блокирует запросы к неадминистративным путям при отсутствии токена. Версия 1.1.0 исправляет проблему.
Показать оригинальное описание (EN)
OpenReception's appointment booking software provides an end-to-end encrypted appointment booking platform. Prior to version 1.1.0, the GET handler at `/api/tenants/{id}/appointments/{appointmentId}` performs no authorization check before returning the appointment record. Any party who knows or obtains a valid appointment UUID receives the full row, including channel and agent IDs, time and timezone, status, and the AES-GCM ciphertext components (`encryptedPayload`, `iv`, `authTag`, `dataKey`). The same file's DELETE handler calls `checkPermission(locals, tenantId, true)` before allowing deletion. The intent is clear: appointment records are tenant-scoped and require authentication to access. The GET handler is missing the equivalent call. The middleware chain (`apiAuthHandle`, `authGuard`) does not compensate: API paths bypass `authGuard` entirely, and `apiAuthHandle` does not block requests to non-admin paths when no token is present. Version 1.1.0 patches the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1