Skip to content
Heist/ feed
Back to feed
High

Wasp has case insensitive OAuth ID vulnerability

Type: advisorySources: OSV

Wasp (Web Application Specification) is a Rails-like framework for React, Node.js, and Prisma. Prior to version 0.16.6, Wasp authentication has a vulnerability in the OAuth authentication implementation (affecting only Keycloak with a specific config). Wasp currently lowercases OAuth user IDs before storing / fetching them. This behavior violates OAuth and OpenID Connect specifications and can result in user impersonation, account collisions, and privilege escalation. In practice, out of the OAuth providers that Wasp auth supports, only Keycloak is affected. Keycloak uses a lowercase UUID by default, but users can configure it to be case sensitive, making it affected. Google, GitHub, and Discord use numerical IDs, making them not affected. Users should update their Wasp version to `0.16.6` which has a fix for the problematic behavior. Users using Keycloak can work around the issue by not using a case sensitive user ID in their realm configuration.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2025-49006
Confirmed fixed CVEs
Not specified
Updated in this feed
4 Nov 2026, 19:24 UTC · Revision 1

Source evidence

Wasp has case insensitive OAuth ID vulnerability

core-osv · Original source

Published 9 Jun 2025, 12:41 UTC

Wasp (Web Application Specification) is a Rails-like framework for React, Node.js, and Prisma. Prior to version 0.16.6, Wasp authentication has a vulnerability in the OAuth authentication implementation (affecting only Keycloak with a specific config). Wasp currently lowercases OAuth user IDs before storing / fetching them. This behavior violates OAuth and OpenID Connect specifications and can result in user impersonation, account collisions, and privilege escalation. In practice, out of the OAuth providers that Wasp auth supports, only Keycloak is affected. Keycloak uses a lowercase UUID by default, but users can configure it to be case sensitive, making it affected. Google, GitHub, and Discord use numerical IDs, making them not affected. Users should update their Wasp version to `0.16.6` which has a fix for the problematic behavior. Users using Keycloak can work around the issue by not using a case sensitive user ID in their realm configuration.

osv:CVE-2025-49006
Complete source record
{
  "id": "a2a6c3a29bc162126efa5a52f5e0f5707d4ec28d58da9e81ffb648b5500ae958",
  "url": "https://osv.dev/vulnerability/CVE-2025-49006",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Wasp has case insensitive OAuth ID vulnerability",
    "summary": "Wasp (Web Application Specification) is a Rails-like framework for React, Node.js, and Prisma. Prior to version 0.16.6, Wasp authentication has a vulnerability in the OAuth authentication implementation (affecting only Keycloak with a specific config). Wasp currently lowercases OAuth user IDs before storing / fetching them. This behavior violates OAuth and OpenID Connect specifications and can result in user impersonation, account collisions, and privilege escalation. In practice, out of the OAuth providers that Wasp auth supports, only Keycloak is affected. Keycloak uses a lowercase UUID by default, but users can configure it to be case sensitive, making it affected. Google, GitHub, and Discord use numerical IDs, making them not affected. Users should update their Wasp version to `0.16.6` which has a fix for the problematic behavior. Users using Keycloak can work around the issue by not using a case sensitive user ID in their realm configuration.",
    "evidence": "osv:CVE-2025-49006",
    "products": [],
    "severity": "high",
    "structured": {
      "id": "CVE-2025-49006",
      "aliases": [
        "CVE-2025-49006",
        "GHSA-qvjc-6xv7-6v5f"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:H/VA:N/SC:N/SI:N/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/wasp-lang/wasp",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "433b9b7f491c172db656fb94cc85e5bd7d614b74"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.16.6"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StringRangeExpression"
                  },
                  {
                    "range": [
                      {
                        "fixed": "433b9b7f491c172db656fb94cc85e5bd7d614b74"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "0.16.6"
                      }
                    ],
                    "source": "DESCRIPTION"
                  }
                ]
              }
            }
          ],
          "versions": [
            "v0.16.5",
            "v0.16.4",
            "v0.16.3-u20",
            "v0.16.3",
            "v0.16.3-rc2",
            "v0.16.3-rc1",
            "v0.16.1-rc",
            "v0.16.1",
            "v0.16.0",
            "v0.16.0-rc2",
            "v0.15.2-rc",
            "v0.15.2",
            "v0.15.1",
            "v0.15.0",
            "v0.15.0-rc2",
            "v0.15.0-rc1",
            "v0.14.1",
            "v0.14.0",
            "v0.14.0-rc2",
            "v0.14.0-rc1",
            "v0.13.1",
            "v0.13.0",
            "v0.13.0-rc2",
            "v0.13.0-rc1",
            "v0.12.4",
            "v0.12.3",
            "v0.12.2",
            "v0.12.1",
            "v0.12.0",
            "v0.12.0-rc4",
            "v0.12.0-rc3",
            "v0.12.0-rc2",
            "v0.12.0-rc1",
            "v0.11.4-wasp-ai-12",
            "v0.11.1-wasp-ai-11",
            "v0.11.1-wasp-ai-10",
            "v0.11.1-wasp-ai-9",
            "v0.11.1-wasp-ai-8",
            "v0.11.1-wasp-ai-7",
            "v0.11.1-wasp-ai-6",
            "v0.11.1-wasp-ai-5",
            "v0.11.1-wasp-ai-4",
            "v0.11.1-wasp-ai-3",
            "v0.11.1-wasp-ai-2",
            "v0.11.1-wasp-ai",
            "v0.11.0-rc3",
            "v0.11.0-rc2",
            "v0.11.0-rc1",
            "v0.9.1-replitrc",
            "v0.9.0",
            "v0.8.2",
            "v0.8.1",
            "v0.8.0",
            "v0.7.3",
            "v0.7.0-rc2",
            "v0.7.0-rc1",
            "v0.7.0-rc",
            "v0.6.0.0",
            "v0.5.2.1",
            "v0.5.2.0",
            "v0.5.1.0",
            "v0.5.0.0",
            "v0.4.0.0",
            "v0.3.0.0",
            "v0.2.2.2",
            "v0.2.2.1",
            "v0.2.2.0",
            "v0.2.1.0",
            "v0.2.0.1",
            "v0.2.0.0",
            "v0.1.11.0",
            "v0.1.10.2",
            "v0.1.10.1",
            "v0.1.10.0",
            "v0.1.9.7",
            "v0.1.9.6",
            "v0.1.9.5",
            "v0.1.9.4",
            "v0.1.9.3",
            "v0.1.9.2",
            "v0.1.9.1",
            "v0.1.9",
            "v0.1.8",
            "v0.1.7",
            "v0.1.6",
            "v0.1.5",
            "v0.1.4",
            "v0.1.3-alpha",
            "v0.1.2-alpha",
            "v0.1.1",
            "v0.1.0"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2025-49006.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:38.848585504Z",
      "provider": "osv",
      "references": [
        "https://wasp-lang.notion.site/PUB-Case-insensitive-OAuth-ID-vulnerability-20018a74854c8064a2bfebe4eaf5fceb",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/49xxx/CVE-2025-49006.json",
        "https://github.com/wasp-lang/wasp/security/advisories/GHSA-qvjc-6xv7-6v5f",
        "https://nvd.nist.gov/vuln/detail/CVE-2025-49006",
        "https://github.com/wasp-lang/wasp/commit/433b9b7f491c172db656fb94cc85e5bd7d614b74"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-276"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2025/49xxx/CVE-2025-49006.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2025-49006",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 506140,
  "published_at": "2025-06-09T12:41:51.697+00:00"
}