Skip to content

Fix for GHSA-vj7q-gjh5-988w - #199

Merged
keycard-gh-workflows-access[bot] merged 1 commit into
mainfrom
socket/fix/GHSA-vj7q-gjh5-988w
Jul 20, 2026
Merged

Fix for GHSA-vj7q-gjh5-988w#199
keycard-gh-workflows-access[bot] merged 1 commit into
mainfrom
socket/fix/GHSA-vj7q-gjh5-988w

Conversation

@keycard-gh-workflows-access

Copy link
Copy Markdown
Contributor

Socket fix for GHSA-vj7q-gjh5-988w.

Vulnerability Summary: MCP Python SDK: WebSocket server transport does not support Host/Origin validation

Severity: HIGH

Affected Packages: mcp (PIP)

… does not support Host/Origin validation
@keycard-gh-workflows-access
keycard-gh-workflows-access Bot enabled auto-merge (squash) July 20, 2026 07:23
@socket-security

Copy link
Copy Markdown

Review the following changes in direct dependencies. Learn more about Socket for GitHub.

Diff Package Supply Chain
Security
Vulnerability Quality Maintenance License
Updatedpypi/​mcp@​1.27.0 ⏵ 1.28.199 +1100 +31100100100

View full report

@keycard-gh-workflows-access
keycard-gh-workflows-access Bot merged commit ff59bba into main Jul 20, 2026
5 checks passed
@keycard-gh-workflows-access
keycard-gh-workflows-access Bot deleted the socket/fix/GHSA-vj7q-gjh5-988w branch July 20, 2026 18:16
Larry-Osakwe added a commit that referenced this pull request Jul 20, 2026
…#203)

* fix(keycardai-mcp): raise mcp floor to >=1.28.1 to propagate GHSA fixes

The Socket security bumps (#199 etc.) only edited uv.lock, which is not
published to PyPI. Consumers of keycardai-mcp resolve mcp against the
declared floor in pyproject.toml, which was >=1.13.1 and still allowed
versions vulnerable to three HIGH advisories fixed in mcp 1.28.1:

- GHSA-jpw9-pfvf-9f58: HTTP transports serve session requests without
  verifying the authenticated principal (auth bypass)
- GHSA-hvrp-rf83-w775: experimental task handlers cross-client access
- GHSA-vj7q-gjh5-988w: WebSocket transport missing Host/Origin validation

Raising the floor to >=1.28.1 (a minor bump within mcp 1.x) makes the fix
propagate to downstream consumers. The lock already resolves 1.28.1.

* fix(keycardai-starlette): raise starlette floor to >=1.0.1 for GHSA-86qp

Same class of gap as the mcp bump. Socket PR #126 (May) patched the
starlette lock to 1.0.1 for GHSA-86qp-5c8j-p5mr (missing Host header
validation poisons request.url.path), but the published floor stayed
>=0.47.3, so consumers could still resolve a vulnerable starlette
(0.47.3-1.0.0) through keycardai-starlette.

starlette never backported the fix to the 0.x line (patched only in
1.0.1), so >=1.0.1 is the minimum non-vulnerable floor. Our code already
runs and tests against starlette 1.x (lock resolves 1.3.1). This drops
starlette-0.x support, acceptable for a 0.x alpha package.

---------

Co-authored-by: GitHub Action <action@github.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