GHSA-vhvq-fv9f-wh4q: Github.com/authzed/spicedb Remote Code Execution Vulnerability
LOWGHSA-vhvq-fv9f-wh4q is a LOW remote code execution vulnerability (CWE-248: Uncaught Exception) affecting Github.com/authzed/spicedb libraries in the Go ecosystem. The issue involves lookupresources cursor section tampering can crash spicedb process via tuple.mustparse panic. Remediation is available by upgrading affected packages to version 1.49.1.
GHSA-vhvq-fv9f-wh4q at a Glance
How to Fix GHSA-vhvq-fv9f-wh4q
To remediate this vulnerability, upgrade all affected Github.com/authzed/spicedb dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.
Upgrade github.com/authzed/spicedb to 1.49.1
Run the following command in your project directory to verify that all resolved dependencies use the patched release:
inspect dependencies for github.com/authzed/spicedb
How to Check if You Are Affected
To determine whether your application is affected by GHSA-vhvq-fv9f-wh4q, inspect your project dependencies for Github.com/authzed/spicedb:
inspect dependencies for github.com/authzed/spicedb
Analyze the terminal output to locate any version of Github.com/authzed/spicedb in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than 1.49.1), your application is affected.
Note: Verify declared build manifests and deployed runtime container environments.
Technical Details
Vulnerability Mechanism & Technical Analysis
This vulnerability is classified under CWE-248: Uncaught Exception, where an exception is thrown from a function, but it is not caught. In Github.com/authzed/spicedb, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.
Source Advisory Statement
GHSA-vhvq-fv9f-wh4q Affected Github.com/authzed/spicedb Versions
1 component(s)| Product / Package | Ecosystem | Affected Versions | Fixed Version |
|---|---|---|---|
|
github.com/authzed/spicedb
|
Go |
≥ 1.29.3
< 1.49.1
|
1.49.1
|
References
Frequently Asked Questions
What is GHSA-vhvq-fv9f-wh4q?
Which Github.com/authzed/spicedb versions are affected?
What version fixes GHSA-vhvq-fv9f-wh4q?
Is github.com/authzed/spicedb affected?
What CWE is associated with GHSA-vhvq-fv9f-wh4q?
How can I check Go dependencies for GHSA-vhvq-fv9f-wh4q?
Machine-readable OSV JSON
OSV v1.5 Schema
{
"schema_version" : "1.4.0",
"id" : "GHSA-vhvq-fv9f-wh4q",
"modified" : "2026-02-06T22:30:52Z",
"published" : "2026-02-06T22:30:52Z",
"aliases" : [ ],
"summary" : "LookupResources Cursor section tampering can crash SpiceDB process via tuple.MustParse panic",
"details" : "## Description\nA malformed or tampered-with LookupResources [Cursor token](https://buf.build/authzed/api/docs/main:authzed.api.v1#authzed.api.v1.Cursor) can cause a panic in the SpiceDB process if it fails to parse. If an attacker were able to make requests to a SpiceDB instance, they could affect its availability.\n\n## Reproduction\nIf one was to take a cursor from a LookupResources call, decode it according to the logic that SpiceDB uses, and modify the Sections field to include an invalid relationship string, the process will panic.\n\n## Impact\nAn attacker would need both the ability to create a gRPC connection to your SpiceDB instance and a valid token, or else the ability to pass a cursor token from outside your application through to your SpiceDB instance.\n\nIf an attacker had this ability, they could bring down SpiceDB instances, reducing the availability of SpiceDB and any service that depends on it.\n\n## Mechanism\nThe SpiceDB process does not validate the contents of this `Sections` component of the `Cursor` message. In affected versions, it uses a parsing function that calls `panic` if the value cannot be parsed as a relationship. \n\n## Fix\nThis issue was fixed in https://github.com/authzed/spicedb/pull/2878.\n\n## Remediations\n* Prevent client control of the `optional_cursor` field in `LookupResources` calls\n* Upgrade to an unaffected version",
"severity" : [ {
"type" : "CVSS_V4",
"score" : "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N/E:U"
} ],
"affected" : [ {
"package" : {
"ecosystem" : "Go",
"name" : "github.com/authzed/spicedb"
},
"ranges" : [ {
"type" : "ECOSYSTEM",
"events" : [ {
"introduced" : "1.29.3"
}, {
"fixed" : "1.49.1"
} ]
} ]
} ],
"references" : [ {
"type" : "WEB",
"url" : "https://github.com/authzed/spicedb/security/advisories/GHSA-vhvq-fv9f-wh4q"
}, {
"type" : "WEB",
"url" : "https://github.com/authzed/spicedb/pull/2878"
}, {
"type" : "WEB",
"url" : "https://github.com/authzed/spicedb/commit/fa1d7f48107e0c6c35e6a7862aa983366e70208f"
}, {
"type" : "PACKAGE",
"url" : "https://github.com/authzed/spicedb"
} ],
"database_specific" : {
"cwe_ids" : [ "CWE-248" ],
"severity" : "LOW",
"github_reviewed" : true,
"github_reviewed_at" : "2026-02-06T22:30:52Z",
"nvd_published_at" : null
}
}