From aaf2ba10ee5425db652f5786ff3fcab8dc55e247 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gau=C2=B7Beo?= Date: Sat, 7 Nov 2026 17:24:57 +0700 Subject: [PATCH] fix(shared): catch ValueError for non-ASCII base64 in decode_header_value (#3817) --- src/mcp/shared/inbound.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/mcp/shared/inbound.py b/src/mcp/shared/inbound.py index e33d6f502f..0a05302c01 100644 --- a/src/mcp/shared/inbound.py +++ b/src/mcp/shared/inbound.py @@ -12,7 +12,6 @@ """ import base64 -import binascii import re from collections.abc import Iterable, Iterator, Mapping, Sequence from dataclasses import dataclass @@ -176,7 +175,7 @@ def decode_header_value(value: str | None) -> str | None: payload = m.group("payload") try: decoded = base64.b64decode(payload, validate=True) - except binascii.Error: + except ValueError: return None # Reject non-canonical base64 (e.g. non-zero trailing bits), which # `validate=True` tolerates; the encoder only ever emits canonical form.