Snowy 3.6.5 Hard-coded Download Signature Key Allows Unauthenticated File Download
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.
- Products
- Not specified
- Affected versions
- Not specified
- Fixed versions
- Not specified
- CVEs
- CVE-2026-110214
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 3 Nov 2026, 15:06 UTC · Revision 1
Source evidence
Snowy 3.6.5 Hard-coded Download Signature Key Allows Unauthenticated File Download
core-osv · Original sourcePublished 13 Oct 2026, 18:50 UTC
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.
osv:CVE-2026-110214
Complete source record
{
"id": "044aedbc426d5a1501f114f9b3ff7f5ac1f4393bbb422a733130224decf0de77",
"url": "https://osv.dev/vulnerability/CVE-2026-110214",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Snowy 3.6.5 Hard-coded Download Signature Key Allows Unauthenticated File Download",
"summary": "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.",
"evidence": "osv:CVE-2026-110214",
"products": [],
"severity": "medium",
"structured": {
"id": "CVE-2026-110214",
"aliases": [
"CVE-2026-110214"
],
"metrics": [
{
"type": "CVSS_V4",
"score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N"
}
],
"affected": [
{
"ranges": [
{
"repo": "https://github.com/xiaonuobase/snowy",
"type": "GIT",
"events": [
{
"introduced": "2c9da36e218901c20cd3b261f33e75b89aeec984"
},
{
"last_affected": "2c9da36e218901c20cd3b261f33e75b89aeec984"
}
],
"database_specific": {
"extracted_events": [
{
"range": [
{
"introduced": "3.6.5"
},
{
"last_affected": "3.6.5"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StandaloneSingleVersion"
}
]
}
}
],
"versions": [
"3.6.5",
"v3.6.5"
],
"database_specific": {
"source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-110214.json"
}
}
],
"modified": "2026-10-28T02:30:29.683203980Z",
"provider": "osv",
"references": [
"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/110xxx/CVE-2026-110214.json",
"https://hackmd.io/@1ExmmukzRMWN7B4gQ4W-4Q/snowy-dev-file-access-control",
"https://nvd.nist.gov/vuln/detail/CVE-2026-110214",
"https://www.vulncheck.com/advisories/snowy-3.6.5-hard-coded-download-signature-key-allows-unauthenticated-file-download",
"https://github.com/xiaonuobase/Snowy",
"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",
"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",
"https://github.com/xiaonuobase/Snowy/blob/v3.6.5/snowy-web-app/src/main/java/vip/xiaonuo/core/config/GlobalConfigure.java#L174-L175"
],
"provider_metadata": {
"cwe_ids": [
"CWE-321"
],
"cna_assigner": "VulnCheck",
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/110xxx/CVE-2026-110214.json"
}
},
"related_cves": [
{
"value": "CVE-2026-110214",
"evidence": "/id"
}
],
"security_relevant": true,
"severity_evidence": "/severity/0/score"
},
"source_id": "core-osv",
"document_id": 496659,
"published_at": "2026-10-13T18:50:03.179+00:00"
}