vciy
vciy-2026-0005 · modoboa/modoboa · CWE-639

Incomplete fixes for CVE-2026-56780 and CVE-2026-90910 in Modoboa REST API viewsets

Verification of the upstream fix commits for CVE-2026-56780 and CVE-2026-90910 identified sibling custom actions on Modoboa REST API viewsets that either query global model managers instead of tenant-scoped querysets or rely on default DjangoModelPermissions mappings for custom POST actions.

Receipt & provenance · vciy-2026-0005
Advisory ID
vciy-2026-0005canonical vciy advisory identifier
Upstream project
modoboa/modoboaPython (PyPI)
Affected versions
modoboa <= 2.7.1verified on upstream default branch
Weakness class
CWE-639Authorization Bypass Through User-Controlled Key
Related CVE records
CVE-2026-56780, CVE-2026-90910upstream fix commit inspected
Upstream tracking
Coordinated disclosure via security@modoboa.orgreported 2026-10-22 · Coordinated disclosure in progress
Credit
Jonathan Corners (@JCorners68), Voxell, Inc. (https://vciy.com)discovered and reported
01

Root cause and sibling analysis.

When Django REST Framework viewsets define custom @action(methods=['post']) endpoints alongside DjangoModelPermissions, POST actions default to checking the model's add_* permission unless overridden in get_permissions(), and actions that query Model.objects directly bypass tenant and role filtering in get_queryset().

In accordance with Modoboa's security policy, technical specifics and a remediation patch are withheld while coordinated disclosure with security@modoboa.org is in progress.

02

Remediation.

Apply the upstream Modoboa security update once released.