CVE-2026-105131: повышение привилегий в ezBookkeeping через endpoint обновления токена
В ezBookkeeping версий с 1.2.0 до 2.0.1 обнаружена уязвимость повышения привилегий. Злоумышленник, имеющий API-токен, может обменять его на полноценный сессионный токен через /api/v1/tokens/refresh.json. Критичность — средняя (CVSS 5.3).
Подробности
Уязвимость получила идентификатор CVE-2026-105131 и оценку CVSS 5.3 (MEDIUM). Она затрагивает продукт mayswind ezBookkeeping в версиях с 1.2.0 по 2.0.1 включительно. Причина — в компоненте TokenRefreshHandler, обслуживающем endpoint /api/v1/tokens/refresh.json. Обработчик не проверяет тип предъявленного токена. Из-за этого атакующий, располагающий API-токеном, может обменять его на обычный сессионный токен со сроком жизни 30 дней. Ключевая опасность заключается в том, что полученный сессионный токен игнорирует ограничения, наложенные на исходный API-токен: он не подчиняется сроку действия API-токена и не учитывает привязку к IP-адресу (allowlist). Таким образом, короткоживущий или ограниченный по IP API-токен фактически превращается в долгосрочный полный доступ к учётной записи, что и образует вектор повышения привилегий. Для эксплуатации атакующему необходимо уже располагать действительным API-токеном. Это снижает вероятность массовых атак, однако в сценариях, где API-токены выдаются интеграциям, скриптам или сторонним сервисам, компрометация такого токена ведёт к существенно более серьёзным последствиям, чем предполагалось изначально.Что делать
Основная рекомендация — обновить ezBookkeeping до версии 2.0.1 или более поздней, где обработчик обновления токенов должен корректно проверять тип токена. Если обновление невозможно в короткие сроки, следует рассмотреть компенсирующие меры: - ограничить сетевой доступ к endpoint /api/v1/tokens/refresh.json на уровне reverse proxy или межсетевого экрана; - провести ревизию выданных API-токенов и отозвать те, которые не используются или вызывают сомнения; - минимизировать срок жизни API-токенов и сузить их права там, где это поддерживается; - настроить мониторинг обращений к endpoint обновления токенов и анализировать аномальную активность; - при подозрении на компрометацию — принудительно завершить активные сессии и сменить учётные данные. Итог: CVE-2026-105131 — умеренная по базовой оценке, но практически значимая уязвимость. Она позволяет превратить ограниченный API-токен в полноценный долгоживущий сессионный доступ, обходя сроки действия и IP-ограничения. Организациям, использующим ezBookkeeping, рекомендуется как можно скорее перейти на версию 2.0.1 или новее и проверить политику выдачи API-токенов.Источник: CVE Project (cvelistV5)
