Skip to content

fix(ci): name the postcss-selector-parser advisory in the toolchain audit - #280

Closed
sasjs-dev[bot] wants to merge 2 commits into
mainfrom
fix/audit-exempt-postcss
Closed

sasjs-dev[bot] wants to merge 2 commits into
mainfrom
fix/audit-exempt-postcss

Conversation

@sasjs-dev

@sasjs-dev sasjs-dev Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

What

The toolchain audit caught a new advisory, which is what it is for:

FAIL   moderate GHSA-rj75-hqrm-r3gf  postcss-selector-parser
       PostCSS: Quadratic complexity in flat selector parsing allows CPU exhaustion

This names it in the exemption list, with the reasoning, so the audit still fails on anything new.

Why it cannot be fixed here

The vulnerable copy is npm's own bundled dependency:

release/node_modules/npm/node_modules/postcss-selector-parser   (7.1.4)

npm ships its own bundled tree, so no resolver change reaches it - npm update leaves it at 7.1.4, because the copy is part of the npm tarball rather than something the resolver picks. The patched version is 7.1.6, and the chain is:

semantic-release -> @semantic-release/npm@13.2.0 -> npm@11.21.0
  -> @npmcli/arborist@9.9.2 -> @npmcli/query@5.0.0 -> postcss-selector-parser@7.1.4

@npmcli/query allows ^7.0.0, so the range is not the obstacle - the bundle is. 11.21.0 is the last npm 11.x, and @semantic-release/npm requires ^11, so the eventual fix is that plugin moving to npm 12. Forcing npm 12 by override would put the release toolchain itself at risk, which is the opposite of what it is for.

It is also unreachable in this usage: the selector parser reads this repo's own release config, not the commits being matched.

Verification

node release/audit.mjs
release toolchain: 13 advisory(s)
no advisory in the release toolchain outside the documented exemptions (13 exempt)
exit 0

release/audit.mjs stays byte-identical across adapter, cli, sas-language, utils and vscode-extension (sha256 9241ea8f9e1012b8).

The file is formatted with sas-language's prettier config (printWidth 100), the only one of the five that lints release/.

sasjs-dev Bot added 2 commits October 6, 2026 09:34
…udit

The audit caught a new advisory, which is what it is for: GHSA-rj75-hqrm-r3gf,
moderate, quadratic complexity in flat selector parsing.

It cannot be fixed from here. The vulnerable copy is npm's own bundled
dependency - release/node_modules/npm/node_modules/postcss-selector-parser -
so no resolver change reaches it, and 11.21.0 is the last npm 11.x while
@semantic-release/npm requires ^11. The eventual fix is that plugin moving to
npm 12. It is also unreachable in this usage: the parser reads this repo's own
release config, not the commits being matched.

Named with that reasoning rather than silenced, so the audit still fails on
anything new. 13 exempt, exit 0.
…udit

The audit caught a new advisory, which is what it is for: GHSA-rj75-hqrm-r3gf,
moderate, quadratic complexity in flat selector parsing.

It cannot be fixed from here. The vulnerable copy is npm's own bundled
dependency - release/node_modules/npm/node_modules/postcss-selector-parser -
so no resolver change reaches it, and 11.21.0 is the last npm 11.x while
@semantic-release/npm requires ^11. The eventual fix is that plugin moving to
npm 12. It is also unreachable in this usage: the parser reads this repo's own
release config, not the commits being matched.

Named with that reasoning rather than silenced, so the audit still fails on
anything new. 13 exempt, exit 0.
@sasjs-dev

sasjs-dev Bot commented Oct 6, 2026

Copy link
Copy Markdown
Contributor Author

Superseded - folded into #279, so this is one utils change rather than two.

What landed, where:

  • the audit exemption for GHSA-rj75-hqrm-r3gf (postcss-selector-parser, moderate) is commit 052f55e on fix/widen-marker-check
  • the prettier reformat for sas-language's printWidth-100 gate is 6365758, same branch
  • the file is byte-identical across adapter, cli, sas-language, utils and vscode-extension (sha256 9241ea8f9e1012b8), and all five report 13 exempt, exit 0

This branch is two commits old and was never reviewed, so nothing is lost by closing it here.

@sasjs-dev sasjs-dev Bot closed this Oct 6, 2026

@sasjs-dev sasjs-dev Bot left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Reviewed the full base...main diff (release/audit.mjs alone: GHSA-rj75-hqrm-r3gf, postcss-selector-parser, added to EXEMPT with the unfixable-bundle and unreachable-here reasoning) and verified it live at the head: node release/audit.mjs reports 13 advisory(s), 13 exempt, exit 0, and the file is byte-identical to the other four repos' copies; CI (test (22)) is green at the head. No blocking issues.

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.

0 participants