Summary
npm audit --audit-level moderate --omit=dev (run by the security job in .github/workflows/ci.yml) currently fails on every push because the pinned axios range ^1.15.0 resolves to 1.15.0/1.15.1, both of which carry recently disclosed high-severity advisories.
This is unrelated to any specific PR — the security check fails on main at the latest commit as well, and was the only blocker on #171 (now merged).
Reproduction
npm ci
npm audit --audit-level moderate --omit=dev
# exits 1 — 1 high severity vulnerability (axios 1.0.0 - 1.15.1)
Also visible in any recent CI run, e.g. https://github.com/pchuri/confluence-cli/actions/runs/25364389501 (main) and https://github.com/pchuri/confluence-cli/actions/runs/25389335951 (PR #171).
Affected advisories (axios 1.0.0 – 1.15.1)
Most are exploitable only when an attacker controls request configuration or response payloads, but several apply to any consumer (CRLF injection, no_proxy bypass, header injection).
Proposed fix
Bump axios to a fixed release and refresh the lockfile:
npm install axios@^1.15.2 # or whichever release contains the cluster of fixes
npm audit --audit-level moderate --omit=dev # should be clean
Update package.json from "axios": "^1.15.0" to a range that excludes the affected versions. A quick smoke test of the auth/redirect paths (especially extractPageId tiny-link redirect handling and attachment uploads) is worth doing because some of these advisories patched HTTP-adapter behavior that the client relies on.
Tradeoffs / alternatives
- Pin to
latest major: simplest, but axios occasionally lands subtle behavior changes — worth a CHANGELOG note.
- Suppress via
--audit-level high or an .audit-ci allowlist: not recommended; these are real high-severity advisories.
- Wait for upstream: not applicable, fixes are already published.
Acceptance criteria
Summary
npm audit --audit-level moderate --omit=dev(run by thesecurityjob in.github/workflows/ci.yml) currently fails on every push because the pinned axios range^1.15.0resolves to 1.15.0/1.15.1, both of which carry recently disclosed high-severity advisories.This is unrelated to any specific PR — the
securitycheck fails onmainat the latest commit as well, and was the only blocker on #171 (now merged).Reproduction
npm ci npm audit --audit-level moderate --omit=dev # exits 1 — 1 high severity vulnerability (axios 1.0.0 - 1.15.1)Also visible in any recent CI run, e.g. https://github.com/pchuri/confluence-cli/actions/runs/25364389501 (main) and https://github.com/pchuri/confluence-cli/actions/runs/25389335951 (PR #171).
Affected advisories (axios 1.0.0 – 1.15.1)
validateStatusMerge StrategyparseReviverAxiosURLSearchParamsblob.typeno_proxybypass via IP alias allows SSRFtoFormDatacauses DoSmaxBodyLengthwhenmaxRedirects: 0maxContentLengthwithXSRFTokenMost are exploitable only when an attacker controls request configuration or response payloads, but several apply to any consumer (CRLF injection, no_proxy bypass, header injection).
Proposed fix
Bump axios to a fixed release and refresh the lockfile:
Update
package.jsonfrom"axios": "^1.15.0"to a range that excludes the affected versions. A quick smoke test of the auth/redirect paths (especiallyextractPageIdtiny-link redirect handling and attachment uploads) is worth doing because some of these advisories patched HTTP-adapter behavior that the client relies on.Tradeoffs / alternatives
latestmajor: simplest, but axios occasionally lands subtle behavior changes — worth a CHANGELOG note.--audit-level highor an.audit-ciallowlist: not recommended; these are real high-severity advisories.Acceptance criteria
npm audit --audit-level moderate --omit=devexits 0 locally and in CI.