Description
NexoPOS through 6.3.0 contains a missing authorization vulnerability that allows authenticated cashiers to manipulate other cashiers' register sessions because CashRegistersService never compares used_by with the user. Attackers holding the default nexopos.use.registers permission can submit closing, cash-in, or cash-out actions to POST /api/cash-registers/{action}/{register} to force-close sessions or alter balances.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Blair2004 | NexoPOS | ≤ 6.3.0 | — |
References
- https://github.com/Blair2004/NexoPOS/issues/2668 issue-tracking
- https://github.com/Blair2004/NexoPOS/pull/2673 patch issue-tracking
- https://github.com/Blair2004/NexoPOS/blob/1e9b2e272026e176cba354534678a111b1832ce6/app/Services/CashRegistersService.php#L53-L92 technical-description
- https://github.com/Blair2004/NexoPOS product
- VulnCheck Advisory: NexoPOS through 6.3.0 Missing Authorization via Cash Register Session Actions third-party-advisory