Description
Snowy 3.6.5 contains a hard-coded HMAC key vulnerability that allows unauthenticated attackers to forge download signatures for the /dev/file/download endpoint by using the published FILE_DOWNLOAD_SIGN_SECRET constant. Attackers can compute HMAC-SHA256 signatures of guessed file ids offline to download stored files such as avatars, editor images and attachments.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| xiaonuobase | Snowy | 3.6.5 – ≤ 3.6.5 | — |
References
- https://hackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/snowy-dev-file-access-control third-party-advisory
- https://github.com/xiaonuobase/Snowy/blob/v3.6.5/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/file/service/impl/DevFileServiceImpl.java#L419-L445 technical-description
- https://github.com/xiaonuobase/Snowy/blob/v3.6.5/snowy-plugin/snowy-plugin-dev/src/main/java/vip/xiaonuo/dev/modular/file/service/impl/DevFileServiceImpl.java#L78 technical-description
- https://github.com/xiaonuobase/Snowy/blob/v3.6.5/snowy-web-app/src/main/java/vip/xiaonuo/core/config/GlobalConfigure.java#L174-L175 technical-description
- VulnCheck Advisory: Snowy 3.6.5 Hard-coded Download Signature Key Allows Unauthenticated File Download third-party-advisory