Skip to content

fix: bump toml to 5.0.1 to fix osv-scanner findings - #10044

Merged
mohammadalfaiyazbitgo merged 2 commits into
masterfrom
infosec-730-toml-5
Oct 23, 2026
Merged

mohammadalfaiyazbitgo merged 2 commits into
masterfrom
infosec-730-toml-5

Conversation

@mohammadalfaiyazbitgo

Copy link
Copy Markdown
Contributor

Summary

Upgrades the toml root resolutions force-pin from 4.3.0 to 5.0.1 (INFOSEC-730).

toml has no direct importers in this repo — its only consumer is bitgo > stellar-sdk@10.4.1, whose StellarTomlResolver calls toml.parse() on /.well-known/stellar.toml responses (exercised by the sdk-coin-xlm federation tests).

Why 5.0.1 and not 5.0.0

toml@4.3.0 sits in the affected range of advisories fixed in 5.0.1:

Advisory Severity Description
GHSA-4qx8-w7c3-pj3p (CVE-2026-114141) HIGH (CVSS 4.0 VA:H) — blocks the release osv-scanner gate Quadratic-complexity DoS in toml.parse() via many array-of-tables headers
GHSA-9j65-hcg3-gc64 Quadratic DoS via long dotted-key paths
GHSA-9qmh-m7c6-f92p Super-linear CPU via oversized integer literals

5.0.0 is still inside the last_affected <= 5.0.0 range, so the pin must be 5.0.1.

v4 → v5 breaking change

Integers outside the safe (±2^53-1) or 64-bit range now throw at parse time instead of silently rounding (opt-in lossless handling via toml.parse(input, { bigint: true })). stellar.toml documents are conventionally string/URL values, so this is not reachable in stellar-sdk's usage; verified by smoke test and the federation unit tests.

Verification

  • osv-scanner (v2.7.0, release config) on the new lockfile: toml findings: none; diff vs the master lockfile shows exactly the three toml advisories above removed and zero new findings introduced
  • yarn check-deps: passes
  • Full workspace build (all 118 module build scripts): 0 failures
  • Unit tests under Node 24.22.1 (CI-supported lane): sdk-coin-xlm 108 passing, sdk-coin-algo 231 passing, sdk-coin-hbar 233 passing, bitgo full suite exit 0
  • Smoke test: stellar.toml-shaped fixture parses identically to 4.3.0; out-of-range integers now throw per the v5.0.0 semantics

Ticket: INFOSEC-730

toml@4.3.0 (root resolutions force-pin; only consumer is
bitgo > stellar-sdk@10.4.1, which calls toml.parse() on
/.well-known/stellar.toml responses) is in the affected range of
advisories fixed in toml 5.0.1, most notably GHSA-4qx8-w7c3-pj3p
(CVE-2026-114141, quadratic-complexity DoS in toml.parse() via many
array-of-tables headers; CVSS 4.0 HIGH, fails the release
HIGH/CRITICAL osv-scanner gate), plus GHSA-9j65-hcg3-gc64 (quadratic
DoS via long dotted keys) and GHSA-9qmh-m7c6-f92p (super-linear CPU
via oversized integer literals).

v5.0.0 breaking change vs 4.3.0: integer values outside the safe
(+/-2^53-1) or 64-bit range now throw at parse time instead of
silently rounding; opt-in lossless handling via
toml.parse(input, { bigint: true }). stellar-sdk's StellarTomlResolver
only parses stellar.toml documents (string/URL values); verified by
the sdk-coin-xlm federation unit tests. osv-scanner diff vs the master
lockfile shows exactly the three flagged toml advisories removed and
no new findings introduced.

Ticket: INFOSEC-730
@mohammadalfaiyazbitgo
mohammadalfaiyazbitgo requested a review from a team as a code owner October 23, 2026 18:24

@claude claude Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Claude Code Review

This repository is configured for manual code reviews. Comment @claude review for a one-time review, or @claude review always to subscribe this PR to a review on every future push.

Tip: disable this comment in your organization's Code Review settings.

@linear-code

linear-code Bot commented Oct 23, 2026

Copy link
Copy Markdown
Contributor

INFOSEC-730

Comment thread yarn.lock
The INFOSEC- ticket prefix (used by the security team for dependency
upgrade tickets, e.g. INFOSEC-730) was missing from the commitlint
parser issuePrefixes, so commit footers referencing INFOSEC tickets
failed the references-empty rule in CI (PR #10044 commit-lint job).
Mirrors the earlier WEB- prefix addition in ef0927d.

Ticket: INFOSEC-730
@mohammadalfaiyazbitgo
mohammadalfaiyazbitgo merged commit 21e27da into master Oct 23, 2026
26 of 27 checks passed
@mohammadalfaiyazbitgo
mohammadalfaiyazbitgo deleted the infosec-730-toml-5 branch October 23, 2026 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants