diff --git a/autogpt_platform/backend/backend/api/features/chat/tools/binary_output_processor.py b/autogpt_platform/backend/backend/api/features/chat/tools/binary_output_processor.py index 4b7a315bf4..a549338766 100644 --- a/autogpt_platform/backend/backend/api/features/chat/tools/binary_output_processor.py +++ b/autogpt_platform/backend/backend/api/features/chat/tools/binary_output_processor.py @@ -114,6 +114,8 @@ def _decode_base64(value: str) -> bytes | None: try: if value.startswith("data:"): value = value.split(",", 1)[1] if "," in value else value - return base64.b64decode(value) + # Normalize padding and use strict validation to prevent corrupted data + padded = value + "=" * (-len(value) % 4) + return base64.b64decode(padded, validate=True) except (binascii.Error, ValueError): return None