GHSA-m9gg-hp2v-232j
@grpc/grpc-js: In certain configurations, getAuthContext can return unauthorized certificates as though they were authorized
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | @grpc/grpc-js | < 1.13.6 | 1.13.6 |
| npm | @grpc/grpc-js | >= 1.14.0, < 1.14.5 | 1.14.5 |
Details
As written in the advisory (Markdown source, shown as plain text).
### 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.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/grpc/grpc-node/security/advisories/GHSA-m9gg-hp2v-232j
- https://nvd.nist.gov/vuln/detail/CVE-2026-101916
- https://github.com/grpc/grpc-node/commit/2a84ec8b01b9db68ed9d2b117a53a81449edb8ee
- https://github.com/grpc/grpc-node/commit/b4e0079c6d22a2adedfcac748e0bc083f783bc7c
- https://github.com/grpc/grpc-node
- https://github.com/grpc/grpc-node/releases/tag/@grpc/grpc-js%401.14.5