Skip to content

Commit 59e8d60

Browse files
fix(deps): clear qs Dependabot alerts + drop stale advisory waivers (#330)
* fix(deps): bump qs to 6.16.0 in hyper-explorer example Clears two GitHub Dependabot alerts against the transitive `qs` dependency in the hyper-explorer example app: - GHSA-4mjr-xmp4-gh2g (medium): DoS via attacker-controlled isBuffer - GHSA-x5fp-wj9c-mxmx (medium): array-limit bypass via bracket-key comma parsing `express`/`body-parser` cap `qs` at `~6.15.1`, so a plain update can't reach the fix. 6.16.0 is a semver-minor (API-compatible) over 6.15, so an `overrides` entry forces it without touching the parents. `npm audit` in the example now reports 0 vulnerabilities. * chore(security): drop stale paste and thrift advisory waivers Both crates have dropped out of the dependency tree (the parquet 59 migration removed them), so their waivers are dead config: - RUSTSEC-2024-0436 (`paste`, unmaintained): no longer in Cargo.lock — cargo-deny was already emitting an `advisory-not-detected` warning for this entry. Removing it silences that warning. - The forward-looking `thrift` note (CVE-2026-43868): `thrift` is no longer pulled transitively, so the note is moot. The `rsa` (RUSTSEC-2023-0071) and `ttf-parser` (RUSTSEC-2026-0192) waivers stay — both crates are still present and neither has a fix. `cargo deny check advisories` and `cargo audit` both pass.
1 parent 40b5527 commit 59e8d60

4 files changed

Lines changed: 8 additions & 30 deletions

File tree

.cargo/audit.toml

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,6 @@
55

66
[advisories]
77
ignore = [
8-
# `paste` is unmaintained; macro-only crate pulled transitively by `parquet`
9-
# (hyperapi-mcp). No runtime code path, no runtime risk.
10-
"RUSTSEC-2024-0436",
118
# `rsa` Marvin Attack — no constant-time fix yet. Used only for outbound
129
# JWT signing in `hyperapi-salesforce`, where timing sidechannels are not
1310
# observable to a remote attacker. Threat model does not apply.
@@ -17,11 +14,3 @@ ignore = [
1714
# runtime risk. Tracking plotters-rs/plotters#736. Mirror of deny.toml.
1815
"RUSTSEC-2026-0192",
1916
]
20-
21-
# Forward-looking note (no waiver yet — RustSec hasn't issued an ID):
22-
# CVE-2026-43868 / GHSA-2f9f-gq7v-9h6m affects the `thrift` Rust crate
23-
# (≤ 0.22.0). Latest published is 0.17.0; Apache Thrift hasn't released
24-
# a fixed Rust crate (the "0.23.0 fix" is in C++/Java/Python only). We
25-
# pull thrift transitively via `parquet` in hyperdb-mcp. When RustSec
26-
# assigns a `RUSTSEC-2026-NNNN` ID, add it to the ignore list above
27-
# with the matching entry in deny.toml.

deny.toml

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -53,9 +53,6 @@ yanked = "warn"
5353
# Specific advisories we have reviewed and chosen to waive. Keep this list
5454
# short — each entry needs a comment explaining the mitigation.
5555
ignore = [
56-
# `paste` is unmaintained, pulled transitively by `parquet` (hyperapi-mcp).
57-
# Macro-only crate — no runtime risk. Drops out when parquet migrates.
58-
{ id = "RUSTSEC-2024-0436", reason = "paste is macro-only, no runtime risk; pulled by parquet only" },
5956
# `rsa` Marvin Attack: no patch available. The `rsa` crate is used by
6057
# `jsonwebtoken` inside `hyperapi-salesforce` for signing client JWTs for
6158
# Salesforce OAuth — this is *outbound* signing where timing sidechannels
@@ -73,17 +70,6 @@ ignore = [
7370
{ id = "RUSTSEC-2026-0192", reason = "ttf-parser unmaintained, no patch exists; transitive via plotters chart rendering, no direct use, no runtime risk" },
7471
]
7572

76-
# Forward-looking note (no waiver yet — RustSec hasn't issued an ID):
77-
# CVE-2026-43868 / GHSA-2f9f-gq7v-9h6m affects the `thrift` Rust crate
78-
# (≤ 0.22.0). The latest published version on crates.io is 0.17.0 — Apache
79-
# Thrift has not released a fixed Rust crate (the project's "0.23.0 fix"
80-
# is in C++/Java/Python only). We pull `thrift` transitively via `parquet`
81-
# in hyperdb-mcp (parquet metadata parsing only — used against operator-
82-
# supplied local files via `load_file`/`query_file`/`export`). When
83-
# RustSec assigns a `RUSTSEC-2026-NNNN` ID, add it to the ignore list
84-
# above with rationale: "thrift transitively via parquet; no fix
85-
# available on crates.io; operator-controlled inputs only."
86-
8773
# -------------------------------------------------------------------------
8874
# Banned / duplicate crates
8975
# -------------------------------------------------------------------------

hyperdb-api-node/examples/hyper-explorer/package-lock.json

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

hyperdb-api-node/examples/hyper-explorer/package.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
"hyperdb-api-node": "file:../../",
1717
"sql-formatter": "^15.7.2"
1818
},
19+
"overrides": {
20+
"qs": "^6.16.0"
21+
},
1922
"devDependencies": {
2023
"@types/cors": "^2.8.17",
2124
"@types/express": "^4.17.21",

0 commit comments

Comments
 (0)