CVE-2026-121628 Condición de carrera en el uso de cupones de Bagisto
Bagisto antes de 2.3.16 y 2.4.x antes de 2.4.1 contiene una condición de carrera en manageCartRule() que permite canjear cupones de un solo uso varias veces. Un atacante puede enviar solicitudes de pedido concurrentes al endpoint de checkout onepage y eludir las verificaciones de times_used para aplicar descuentos repetidamente.
CVSS 3.1
- CVSS 4.06.3 · media
- Probabilidad de explotación · EPSS del 09/110,3 % · percentil 19
- Explotada activamenteNo confirmada
- Exploit públicoNo conocido
Afectados
bagisto
hasta antes de 2.3.16desde 2.4.0 hasta antes de 2.4.1
Qué hacer
- Verificá si usás bagisto y en qué versión.
- Actualizá a la versión corregida que indique el fabricante en su aviso o aplicá su mitigación.
- Revisá registros y accesos de los sistemas expuestos para descartar un uso previo.
Calculadora CVSS
CVSS 3.1 · 3.7 BAJA
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:N
- Vector de ataqueRed
- Complejidad del ataqueAlta
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- AlcanceSin cambio
- ConfidencialidadNinguna
- IntegridadBaja
- DisponibilidadNinguna
CVSS 4.0 · 6.3 MEDIA
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N
- Vector de ataqueRed
- Complejidad del ataqueAlta
- Requisitos del ataquePresentes
- Privilegios requeridosNinguno
- Interacción del usuarioNinguna
- Confidencialidad (sistema vulnerable)Ninguna
- Integridad (sistema vulnerable)Baja
- Disponibilidad (sistema vulnerable)Ninguna
- Confidencialidad (sistemas posteriores)Ninguna
- Integridad (sistemas posteriores)Ninguna
- Disponibilidad (sistemas posteriores)Ninguna
Descripción original
Bagisto before 2.3.16 and 2.4.x before 2.4.1 contains a race condition vulnerability in manageCartRule() that allows attackers to redeem single-use coupons multiple times. Attackers can submit concurrent order requests to the onepage orders checkout endpoint, bypassing unlocked times_used checks to apply discounts repeatedly.
Referencias (8)
- github.com/bagisto/bagisto/commit/81cb2a2a35b355492f704fd216d679f2145a5650
- github.com/bagisto/bagisto/commit/1f57c10eb9cb61b37de4706ffa439fd26aa7c405
- github.com/bagisto/bagisto/releases/tag/v2.3.16
- github.com/bagisto/bagisto/releases/tag/v2.4.1
- gist.github.com/Ayxpp/5358d9fff045e94e0ddb51677ed5d195
- github.com/bagisto/bagisto/blob/v2.4.0/packages/Webkul/CartRule/src/Listeners/Order.php#L…
- github.com/bagisto/bagisto
- www.vulncheck.com/advisories/bagisto-before-2.3.16-and-2.4-x-before-2.4.1-race-condition-…
Resumen traducido automáticamente de la descripción original. Fuente: Nureq Monitor. Cómo funciona.