Skip to content
Heist/ feed
Back to feed
Medium

Snowy 3.6.5 Hard-coded Download Signature Key Allows Unauthenticated File Download

Type: advisorySources: OSV

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 source

Published 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"
}