Repository navigation
Commit c199064
chore(deps): exempt GHSA-xcx6-jx8p-x3h5 (@azure/msal-node via tedious) until 2026-11-26 (#26486)
<!-- claude-projects-attribution: {"github_login":"os-steve"} -->
_Requested by **Steve** · [project
thread](https://claude.ai/code/project/chan_01FdL1XeUyvVNxLreh3F4Qi9?thread=cmsg_01FdL1XeUyvVNxLreh3F4Qi9WV2t4SJjcpQk4Wkqfp7kPN)_
Fixes #26428
## 维护者速读
- 改了什么:在 `osv-scanner.toml` 加一条豁免,`GHSA-xcx6-jx8p-x3h5`,`ignoreUntil =
2026-11-26`(30 天)。只改这一个文件。
- 为什么改:定时 OSV 扫描从 10-21 起每天红,唯一的发现就是这条:`@azure/msal-node`
5.4.1,High。修复版是 7.1.0,但目前没有任何已发布的 `@azure/identity` 接受 msal-node 7(最新的
4.14.0 仍要求 `^6`),所以拿不到修复版。
- 风险:只出现在开发依赖树里,路径是 tedious(driver-sql 的可选 mssql peer)→
`@azure/identity` →
msal-node,不进任何发布包。漏洞在授权码流程(`acquireTokenByCode`),tedious 不调用它。
- 回滚:revert 即可。到 11-26 豁免自动失效,扫描会重新报红。
## What changes
One `[[IgnoredVulns]]` entry in `osv-scanner.toml`. This PR carries no
other change, per convention 3 (an exemption lands in its own PR,
labelled `osv-exemption`).
## Why
**What the scan shows.** Scheduled run 40442115529 (2026-10-27 03:05Z),
OSV-Scanner v2.5.0 on `pnpm-lock.yaml`:
```
| https://osv.dev/GHSA-xcx6-jx8p-x3h5 | 7.5 | npm | @azure/msal-node | 5.4.1 | 7.1.0 | pnpm-lock.yaml |
```
**The advisory** (osv.dev): "MSAL Node authorization code flow may
disclose parameters to an attacker-controlled endpoint", CWE-346.
Affected from `5.0.0-beta.0` to before `7.1.0`. The workaround it names
is passing only the auth code to `acquireTokenByCode`.
**Why no fix can be taken today.**
- The path in the lockfile is `tedious@18.6.2` →
`@azure/identity@4.13.1` → `@azure/msal-node@5.4.1`. tedious is
`driver-sql`'s optional `peerDependency`, so this repo installs it for
its own tree and no published package carries it.
- `npm view @azure/identity@4.14.0 dependencies.@azure/msal-node` gives
`^6.0.0`, and every 6.x is inside the affected range. tedious 20.3.8,
its latest, needs `@azure/identity ^4.13.1`.
- The only way to reach 7.1.0 would be a pnpm override that forces
msal-node a major past the range `@azure/identity` declares. This PR
does not do that.
**When to remove it.** Once a published `@azure/identity` accepts
msal-node `>=7.1.0` and tedious resolves to it, bump instead and delete
this entry. The 30-day `ignoreUntil` forces this decision to be looked
at again.
## Also reported by the same scan, not changed here
The scanner reports the existing `GHSA-hp3w-g68c-fv3c` entry
(sprintf-js, `ignoreUntil = 2026-11-05`) as an **unused ignore**.
osv.dev shows that advisory **withdrawn on 2026-10-22**, so the entry no
longer matches anything, though `sprintf-js` 1.0.3 and 1.1.3 are still
in the lockfile. It is left alone here: one exemption change per PR. It
can be removed in its own PR, or it will drop out on its own date.
## Verification
- `node scripts/check-osv-exemptions.mjs --self-test`: passes.
- `node scripts/check-osv-exemptions.mjs`: `✓ 2 OSV exemption(s) in
osv-scanner.toml: all carry an unexpired ignoreUntil within 90 days and
a reason with an advisory link.`
- OSV-Scanner itself is not run locally (its container image is not
reachable from this session). This PR's `Validate Dependencies` run
(triggered by `osv-scanner.toml`) is the measurement.
Clause-②: no
Metadata-protocol: none
## Human Minimum
- [x] 1. Schemas start as Zod; `packages/spec` holds no runtime logic.
(not touched)
- [x] 2. Every name I added uses the casing for its kind. (none)
- [x] 3. No formatter ran; `pnpm lint` passes.
- [x] 4. One issue, one branch off an up-to-date `main`, one pull
request.
- [x] 5. A change that publishes carries a changeset. This PR publishes
nothing, so it is labelled `skip-changeset`.
- [x] 6. `packages/spec` touched: n/a.
- [x] 7. No hand edits to `content/docs/references/`,
`packages/*/CHANGELOG.md` or `content/docs/releases/`.
- [x] 8. Title, body and comments are in English.
- [x] The *Before Submitting* list in CONTRIBUTING.md is done.
---
_Generated by [Claude
Code](https://claude.ai/code/session_01ADHkmPhbmyqwyDkSjg13F7)_
Co-authored-by: Claude <noreply@anthropic.com>1 parent 43714ca commit c199064
1 file changed
Lines changed: 5 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
89 | 89 | | |
90 | 90 | | |
91 | 91 | | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
0 commit comments