Description
Shlink through 5.1.6 fails to enforce API key role restrictions when issuing Mercure subscription tokens, allowing restricted keys to subscribe to all topics. Attackers with author-only or domain-only keys can access the mercure-info endpoint to receive visit data including referrer, user agent, geolocation, and full short URL objects for URLs outside their authorization boundary.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
shlinkio shlink
Default version status: unaffected
0 to ≤ 5.1.6affected
pkg:composer/shlinkio/shlinkReferences
- https://github.com/shlinkio/shlink/issues/2633 ↗
- https://github.com/shlinkio/shlink ↗
- https://github.com/shlinkio/shlink/blob/v5.1.6/module/Rest/src/Action/MercureInfoAction.php#L26-L42 ↗
- https://github.com/shlinkio/shlink-common/blob/main/src/Mercure/LcobucciJwtProvider.php#L38-L41 ↗
- https://www.vulncheck.com/advisories/shlink-through-5.1.6-mercure-token-authorization-bypass ↗