Para chamadas JSONP, devemos sempre restringir e validar o parâmetro de retorno de chamada para evitar injeções de código e outros ataques de hackers.
Para fazer isso, geralmente definimos um tamanho máximo e permitimos apenas caracteres alfanuméricos e sublinhados.
A maioria dos desenvolvedores mudaria para regex, mas eu prefiro fazer coisas sem regex, em C # podemos validar a string <i> callback </i> como visto neste trecho de código abaixo usando alguma mágica do LINQ:
if (!callback.ToCharArray().All(c => Char.IsLetter(c) || Char.IsNumber(c) || c == '_')))
return "illegal callback, can only contain alphanumeric characters and underscores";