@grpc/grpc-js: In certain configurations, getAuthContext can return unauthorized certificates as though they were authorized
What fixes it
- 1.13.6@grpc/grpc-js, npmGitHub
npm install @grpc/grpc-js@1.13.6 - 1.14.5@grpc/grpc-js, npmGitHub
npm install @grpc/grpc-js@1.14.5
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
Impact
When server credentials are created with the requireClientCertificate option set to false, getAuthContext does not distinguish between authorized and unauthorized certificates in its return value. This can create improper authentication vulnerabilities for @grpc/grpc-js users who use the result of getAuthContext for authentication.
In particular, @grpc/grpc-js-xds can both set the requireClientCertificate option to false and use the return value of getAuthContext for RBAC authentication in some configurations.
Patches
This vulenrability is fixed in 1.13.6 and 1.14.5.
Workarounds
@grpc/grpc-js users using getAuthContext this way can avoid this problem by setting requireClientCertificate to true. @grpc/grpc-js-xds users using RBAC can avoid this by setting the require_client_certificate field to true in the DownstreamTlsContext in the xDS configuration.
Text from GitHub Advisory Database
Affected versions 6
- @grpc/grpc-js, npm< 1.13.6GitHub
- @grpc/grpc-js, npm>= 1.14.0, < 1.14.5GitHub
- grpc-nodeaffected: < 1.13.6CVE List
- grpc-nodeaffected: >= 1.14.0, < 1.14.5CVE List
- @grpc/grpc-js, npmfrom first release, fixed in 1.13.6OSV
- @grpc/grpc-js, npmfrom 1.14.0, fixed in 1.14.5OSV
References 6
- github.com/grpc/grpc-node/commit/2a84ec8b01b9db68ed9d2b117a53a81449edb8eeFixvia CVE List
- github.com/grpc/grpc-node/commit/b4e0079c6d22a2adedfcac748e0bc083f783bc7cFixvia CVE List
- github.com/grpc/grpc-node/releases/tag/@grpc/grpc-js%401.14.5Fixvia CVE List
- github.com/grpc/grpc-node/security/advisories/GHSA-m9gg-hp2v-232jAdvisoryvia CVE List
- github.com/advisories/GHSA-m9gg-hp2v-232jAdvisoryvia GitHub
- nvd.nist.gov/vuln/detail/CVE-2026-101916Referencevia GitHub