{"schema":"threatline.record/2","record":{"id":"CVE-2026-101916","aliases":["GHSA-m9gg-hp2v-232j"],"summary":"@grpc/grpc-js: In certain configurations, getAuthContext can return unauthorized certificates as though they were authorized","details":"### Impact\nWhen 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.\n\nIn 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.\n\n### Patches\n\nThis vulenrability is fixed in 1.13.6 and 1.14.5.\n\n### Workarounds\n`@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.","categories":["Libraries & packages"],"product":"@grpc/grpc-js","vendor":"grpc","ecosystem":"npm","affected_ranges":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-m9gg-hp2v-232j","source_modified_at":"2026-09-30T15:35:57Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@grpc/grpc-js"},"range":"< 1.13.6"},{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-m9gg-hp2v-232j","source_modified_at":"2026-09-30T15:35:57Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@grpc/grpc-js"},"range":">= 1.14.0, < 1.14.5"},{"source":"CVE List","source_url":"https://www.cve.org/CVERecord?id=CVE-2026-101916","source_modified_at":"2026-10-01T14:54:55.987Z","fetched_at":"2026-10-23T18:45:31.882637Z","product":"grpc-node","vendor":"grpc","versions":[{"version":"< 1.13.6","status":"affected"},{"version":">= 1.14.0, < 1.14.5","status":"affected"}],"defaultStatus":null},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-m9gg-hp2v-232j","source_modified_at":"2026-09-30T15:45:30.357039902Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@grpc/grpc-js","purl":"pkg:npm/%40grpc/grpc-js"},"ranges":[{"events":[{"introduced":"0"},{"fixed":"1.13.6"}],"type":"SEMVER"}],"versions":[]},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-m9gg-hp2v-232j","source_modified_at":"2026-09-30T15:45:30.357039902Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@grpc/grpc-js","purl":"pkg:npm/%40grpc/grpc-js"},"ranges":[{"events":[{"introduced":"1.14.0"},{"fixed":"1.14.5"}],"type":"SEMVER"}],"versions":[]}],"fixed_versions":[{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-m9gg-hp2v-232j","source_modified_at":"2026-09-30T15:35:57Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@grpc/grpc-js"},"version":"1.13.6"},{"source":"GitHub Advisory Database","source_url":"https://github.com/advisories/GHSA-m9gg-hp2v-232j","source_modified_at":"2026-09-30T15:35:57Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@grpc/grpc-js"},"version":"1.14.5"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-m9gg-hp2v-232j","source_modified_at":"2026-09-30T15:45:30.357039902Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@grpc/grpc-js","purl":"pkg:npm/%40grpc/grpc-js"},"version":"1.13.6"},{"source":"OSV","source_url":"https://osv.dev/vulnerability/GHSA-m9gg-hp2v-232j","source_modified_at":"2026-09-30T15:45:30.357039902Z","fetched_at":"2026-10-23T18:42:43.628194Z","package":{"ecosystem":"npm","name":"@grpc/grpc-js","purl":"pkg:npm/%40grpc/grpc-js"},"version":"1.14.5"}],"cvss":7.4,"severity":"High","kev":{"listed":false},"epss":{"probability":0.00208,"percentile":0.10312,"score_date":"2026-10-23"},"published_at":"2026-09-28T20:01:53.640Z","modified_at":"2026-10-01T14:54:55.987Z","provenance":[{"source":"GitHub Advisory Database","url":"https://github.com/advisories/GHSA-m9gg-hp2v-232j","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-09-30T15:35:57Z"},{"source":"CVE List","url":"https://www.cve.org/CVERecord?id=CVE-2026-101916","fetched_at":"2026-10-23T18:45:31.882637Z","source_modified_at":"2026-10-01T14:54:55.987Z"},{"source":"OSV","url":"https://osv.dev/vulnerability/GHSA-m9gg-hp2v-232j","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-09-30T15:45:30.357039902Z"},{"source":"EPSS","url":"https://api.first.org/data/v1/epss?cve=CVE-2026-101916","fetched_at":"2026-10-23T18:42:43.628194Z","source_modified_at":"2026-10-23"}],"sources":["GitHub Advisory Database","CVE List","OSV","EPSS"],"references":[{"source":"CVE List","url":"https://github.com/grpc/grpc-node/security/advisories/GHSA-m9gg-hp2v-232j","tags":["x_refsource_CONFIRM"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-101916","source":"GitHub Advisory Database"},{"source":"CVE List","url":"https://github.com/grpc/grpc-node/commit/2a84ec8b01b9db68ed9d2b117a53a81449edb8ee","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/grpc/grpc-node/commit/b4e0079c6d22a2adedfcac748e0bc083f783bc7c","tags":["x_refsource_MISC"]},{"source":"CVE List","url":"https://github.com/grpc/grpc-node/releases/tag/@grpc/grpc-js%401.14.5","tags":["x_refsource_MISC"]},{"url":"https://github.com/advisories/GHSA-m9gg-hp2v-232j","source":"GitHub Advisory Database"}],"locations":[],"motoko_assessment":{"status":"requires_architecture_review","automatic_remediation":false},"cve_state":"PUBLISHED","ssvc":{"exploitation":"none","automatable":"no","technical_impact":"total","assessed_at":"2026-10-01T14:54:36.359795Z"},"classification":{"method":"product-first software-layer rules","rules_version":"2.1","matched_on":"ecosystem","confidence":"heuristic","reviewed":false},"change_timestamp":"2026-10-01T14:54:55.987Z","content_hash":"325089ac5d877f89f1fc4001c69a2c2687d1a95a5d5daf246bb4a8acd7989396"}}
