Skip to content

Commit 7e93a9f

Browse files
authored
Return HTTP 403 for invalid Origin headers (#1353)
1 parent ca34666 commit 7e93a9f

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

src/mcp/server/transport_security.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,6 @@ async def validate_request(self, request: Request, is_post: bool = False) -> Res
122122
# Validate Origin header
123123
origin = request.headers.get("origin")
124124
if not self._validate_origin(origin):
125-
return Response("Invalid Origin header", status_code=400)
125+
return Response("Invalid Origin header", status_code=403)
126126

127127
return None

tests/server/test_sse_security.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ async def test_sse_security_invalid_origin_header(server_port: int):
127127

128128
async with httpx.AsyncClient() as client:
129129
response = await client.get(f"http://127.0.0.1:{server_port}/sse", headers=headers)
130-
assert response.status_code == 400
130+
assert response.status_code == 403
131131
assert response.text == "Invalid Origin header"
132132

133133
finally:

tests/server/test_streamable_http_security.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ async def test_streamable_http_security_invalid_origin_header(server_port: int):
155155
json={"jsonrpc": "2.0", "method": "initialize", "id": 1, "params": {}},
156156
headers=headers,
157157
)
158-
assert response.status_code == 400
158+
assert response.status_code == 403
159159
assert response.text == "Invalid Origin header"
160160

161161
finally:

0 commit comments

Comments
 (0)