Skip to content

chore(release): 1.5.0 - #19

Merged
ralyodio merged 1 commit into
masterfrom
release/1.5.0
Aug 17, 2026
Merged

chore(release): 1.5.0#19
ralyodio merged 1 commit into
masterfrom
release/1.5.0

Conversation

@ralyodio

Copy link
Copy Markdown
Contributor

Version bump to ship the security fixes merged in #18.

1.4.12 is the version named as affected in every advisory, and it is still what npm install @profullstack/mcp-server resolves to — so downstream users stay exposed until this ships.

Why minor, not patch: the fixes change default behavior. readme-badges confines caller-supplied paths to the working directory, outbound URLs are restricted to publicly-routable addresses (with host allowlists for convert2doc and craigslist), and state-changing requests carrying a foreign Origin are rejected. Each has an opt-out env var, documented in .env.example and the new README security section.

Also included from #18: puppeteer 25.7.0, which clears the transitive extract-zip advisory (GHSA-jmr9-qjv8-65gv) that had started failing npm audit on every branch.

After merge: npm publish and mark the advisories as fixed.

🤖 Generated with Claude Code

Ships the security fixes from #18. Minor rather than patch because the fixes
change default behaviour: readme-badges paths are confined to the working
directory, outbound URLs are restricted to public addresses (with host
allowlists for convert2doc and craigslist), and state-changing requests carrying
a foreign Origin are rejected. Each has an opt-out env var documented in
.env.example and the README security section.

Closes the exposure for users on <= 1.4.12, the version named in every advisory.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

ThreatCrush Security Scan

19 finding(s)

HIGH/CRITICAL: 13 | MEDIUM: 6

Severity Rule Location
HIGH secret-generic-api-key mcp_modules/convert2doc/examples/usage-example.js:11
HIGH secret-generic-api-key mcp_modules/fake_json/docs/api.md:151
HIGH secret-generic-api-key mcp_modules/fake_json/README.md:82
HIGH secret-generic-api-key mcp_modules/seo-ranking/examples/basic-usage.js:10
HIGH secret-generic-api-key mcp_modules/seo-ranking/examples/basic-usage.js:22
HIGH secret-generic-api-key mcp_modules/seo-ranking/examples/basic-usage.js:38
HIGH secret-generic-api-key mcp_modules/seo-ranking/examples/basic-usage.js:166
HIGH secret-generic-api-key mcp_modules/seo-ranking/examples/basic-usage.js:187
HIGH secret-generic-api-key mcp_modules/seo-ranking/examples/basic-usage.js:215
HIGH secret-generic-api-key mcp_modules/seo-ranking/README.md:415
HIGH sh-remote-script-execution mcp_modules/wcag/bin/install.sh:111
HIGH sh-remote-script-execution mcp_modules/wcag/bin/install.sh:120
HIGH sensitive-file-committed sample.env:1
MEDIUM manifest-install-lifecycle-script mcp_modules/backlinks/package.json:11
MEDIUM js-dynamic-code-execution mcp_modules/calculator/index.js:38
MEDIUM js-dynamic-code-execution mcp_modules/calculator/test/calculator.test.js:30
MEDIUM js-dynamic-code-execution mcp_modules/calculator/test/calculator.test.js:83
MEDIUM insecure-temp-file mcp_modules/scanner/test/service.test.js:121
MEDIUM manifest-install-lifecycle-script package.json:16

Snippets are redacted; ThreatCrush never prints matched credential material.

@ralyodio
ralyodio merged commit 04541af into master Aug 17, 2026
10 checks passed
ralyodio added a commit that referenced this pull request Aug 17, 2026
The GHSA advisories page was clean after #18/#19, but the Dependabot alerts
tab still had 358 open alerts (5 critical, 182 high, 153 medium, 18 low)
across the root project and every module manifest.

Root (66 alerts)
  `pnpm update` within existing ranges: hono 4.7.9 -> 4.13.2 (39 alerts on its
  own), @hono/node-server 1.14.1 -> 1.19.17, form-data 4.0.2 -> 4.0.6, plus
  refreshed transitives. pnpm audit is now clean.

Modules (~290 alerts)
  Every module lockfile was stale. mocha 10 pins serialize-javascript ^6, which
  is vulnerable; the root project already carried a `serialize-javascript:
  ^7.0.0` pnpm override but no module did, so each module got the same override
  and a regenerated lockfile.

  Direct bumps where the range could not reach a fixed version:
    - backlinks:   nodemailer ^6 -> ^9.0.5, uuid ^9 -> ^14.0.1,
                   puppeteer ^21 -> ^25.7.0 (both call sites are version-stable)
    - lighthouse:  lighthouse ^11 -> ^13.4.1. lighthouse 11/12 pull
                   @puppeteer/browsers 2.x -> extract-zip, and extract-zip has
                   no patched release, so the only fix is leaving the tree.
                   Raises this module's floor to Node 22.19; Node 18 and 20 are
                   both past end-of-life.
    - linkchecker: uuid override ^11.1.1 rather than linkinator 7/8, which would
                   have narrowed the module to Node >=20/22.
    - wcag:        dropped the `child_process` dependency — the module imports
                   the Node builtin, while the npm package of that name is an
                   npm security-holder placeholder with no code. Marked the
                   pa11y peer optional and disabled auto-install-peers: pa11y is
                   installed out-of-band by bin/install.sh, and auto-installing
                   it dragged its whole puppeteer tree in.

Lockfile hygiene
  Removed five stale package-lock.json files. This is a pnpm repo
  (packageManager: pnpm@10.6.5); backlinks, linkchecker and news-aggregator
  carried both lockfiles, and lighthouse and wcag were npm-only. Those five npm
  lockfiles alone accounted for 157 alerts. lighthouse and wcag now have pnpm
  lockfiles like the other twelve.

logger.js is a formatting-only change from the prettier bump (3.1 -> 3.9).

Verified: root and all 14 module lockfiles report "No known vulnerabilities";
90 core tests and 196 module tests pass.

Co-authored-by: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.

1 participant