// For flags

CVE-2024-32882

Permission check bypass when editing a model with per-field restrictions in wagtail

Severity Score

2.7
*CVSS v3.1

Exploit Likelihood

*EPSS

Affected Versions

*CPE

Public Exploits

0
*Multiple Sources

Exploited in Wild

-
*KEV

Decision

Track
*SSVC
Descriptions

Wagtail is an open source content management system built on Django. In affected versions if a model has been made available for editing through the `wagtail.contrib.settings` module or `ModelViewSet`, and the `permission` argument on `FieldPanel` has been used to further restrict access to one or more fields of the model, a user with edit permission over the model but not the specific field can craft an HTTP POST request that bypasses the permission check on the individual field, allowing them to update its value. This vulnerability is not exploitable by an ordinary site visitor without access to the Wagtail admin, or by a user who has not been granted edit access to the model in question. The editing interfaces for pages and snippets are also unaffected. Patched versions have been released as Wagtail 6.0.3 and 6.1. Wagtail releases prior to 6.0 are unaffected. Users are advised to upgrade. Site owners who are unable to upgrade to a patched version can avoid the vulnerability as follows: 1.For models registered through `ModelViewSet`, register the model as a snippet instead; 2. For settings models, place the restricted fields in a separate settings model, and configure permission at the model level.

Wagtail es un sistema de gestión de contenidos de código abierto construido sobre Django. En las versiones afectadas, si un modelo se ha puesto a disposición para su edición a través del módulo `wagtail.contrib.settings` o `ModelViewSet`, y el argumento `permission` en `FieldPanel` se ha utilizado para restringir aún más el acceso a uno o más campos de En el modelo, un usuario con permiso de edición sobre el modelo pero no sobre el campo específico puede crear una solicitud HTTP POST que omita la verificación de permiso en el campo individual, permitiéndole actualizar su valor. Esta vulnerabilidad no es aprovechable por un visitante normal del sitio sin acceso al administrador de Wagtail, ni por un usuario al que no se le ha concedido acceso de edición al modelo en cuestión. Las interfaces de edición de páginas y fragmentos tampoco se ven afectadas. Se han lanzado versiones parcheadas como Wagtail 6.0.3 y 6.1. Las versiones de Wagtail anteriores a la 6.0 no se ven afectadas. Se recomienda a los usuarios que actualicen. Los propietarios de sitios que no puedan actualizar a una versión parcheada pueden evitar la vulnerabilidad de la siguiente manera: 1. Para los modelos registrados a través de `ModelViewSet`, registre el modelo como un fragmento; 2. Para los modelos de configuración, coloque los campos restringidos en un modelo de configuración separado y configure el permiso en el nivel del modelo.

*Credits: N/A
CVSS Scores
Attack Vector
Network
Attack Complexity
Low
Privileges Required
High
User Interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
Low
Availability
None
* Common Vulnerability Scoring System
SSVC
  • Decision:Track
Exploitation
None
Automatable
No
Tech. Impact
Partial
* Organization's Worst-case Scenario
Timeline
  • 2024-04-19 CVE Reserved
  • 2024-05-02 CVE Published
  • 2024-05-02 EPSS Updated
  • 2024-08-02 CVE Updated
  • ---------- Exploited in Wild
  • ---------- KEV Due Date
  • ---------- First Exploit
CWE
  • CWE-280: Improper Handling of Insufficient Permissions or Privileges
  • CWE-281: Improper Preservation of Permissions
CAPEC
Affected Vendors, Products, and Versions
Vendor Product Version Other Status
Vendor Product Version Other Status <-- --> Vendor Product Version Other Status
Wagtail
Search vendor "Wagtail"
Wagtail
Search vendor "Wagtail" for product "Wagtail"
>= 6.0.0 < 6.0.3
Search vendor "Wagtail" for product "Wagtail" and version " >= 6.0.0 < 6.0.3"
en
Affected