JSON-Injection in McpStdioServer.sendProgress() #50

Open
opened 2026-03-08 18:38:10 +00:00 by automation · 0 comments
Collaborator

Problem

McpStdioServer.sendProgress() (Zeile 119-124) baut JSON per String.format():

String progressJson = String.format(
    "{...\"message\":\"%s\"}}",
    message != null ? message.replace("\"", "\\\"") : "");

Nur " wird escaped, aber nicht \n, \t, \r oder Backslashes. Messages mit diesen Zeichen erzeugen invalides JSON.

Fix

Jackson ObjectMapper verwenden statt manueller String-Konstruktion.

Gefunden von

Fowler

## Problem `McpStdioServer.sendProgress()` (Zeile 119-124) baut JSON per `String.format()`: ```java String progressJson = String.format( "{...\"message\":\"%s\"}}", message != null ? message.replace("\"", "\\\"") : ""); ``` Nur `"` wird escaped, aber nicht `\n`, `\t`, `\r` oder Backslashes. Messages mit diesen Zeichen erzeugen invalides JSON. ### Fix Jackson `ObjectMapper` verwenden statt manueller String-Konstruktion. ## Gefunden von Fowler
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ai-tools/jdt-mcp-server#50
No description provided.