Description
JetLinks Community through 2.10.0 contains a missing authorization vulnerability that allows users with only query access on transparent-codec to overwrite product codecs via POST /device/transparent-codec/{productId}. Because the endpoint lacks @SaveAction, attackers can save arbitrary codec providers and configurations, controlling how transparent messages are decoded and encoded for every device of that product.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| jetlinks | JetLinks Community | ≤ 2.10.0 | — |
References
- https://hackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/jetlinks-community-transparent-codec-save-authz-bypass third-party-advisory
- https://github.com/jetlinks/jetlinks-community/blob/60ecc9f65d96acfd38da8daecdb0062fc72034f3/jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/web/TransparentMessageCodecController.java#L138-L143 technical-description
- https://github.com/hs-web/hsweb-framework/blob/5.0.1/hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/Authentication.java#L206-L218 technical-description
- https://github.com/jetlinks/jetlinks-community product
- VulnCheck Advisory: JetLinks Community through 2.10.0 Missing Authorization via Product-Level Transparent Codec Save third-party-advisory