Description
QloApps through 1.7.0 contains a broken access control vulnerability that allows hotel-restricted back-office employees to create room types under unassigned hotels by supplying an arbitrary id_hotel. Attackers can enumerate all hotels via the unfiltered room type form selector and post foreign hotel IDs to AdminProductsController, creating rooms and inventory under other hotels.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| Webkul | QloApps | ≤ 1.7.0 | — |
References
- https://hackmd.io/@leediay/SyMoELioMx third-party-advisory
- https://github.com/Qloapps/QloApps/blob/v1.7.0/controllers/admin/AdminProductsController.php#L3038-L3052 technical-description
- https://github.com/Qloapps/QloApps/blob/v1.7.0/controllers/admin/AdminProductsController.php#L2362-L2367 technical-description
- https://github.com/Qloapps/QloApps/blob/v1.7.0/modules/hotelreservationsystem/classes/HotelBranchInformation.php#L488-L496 technical-description
- Pull Request #1649 patch issue-tracking
- Patch Commit patch
- https://github.com/Qloapps/QloApps product
- VulnCheck Advisory: QloApps through 1.7.0 Authorization Bypass via id_hotel in Room Type Creation third-party-advisory