Если все, что вы хотите предотвратить в этом случае, - это проблема с внедрением заголовка (с чем связан CWE ID 93), то посмотрите на класс org.owasp.esapi.StringUtilities ESAPI. В частности, статический метод stripControls()
, вероятно, именно то, что вам нужно. Использование Encoder.encodeForHTML()
, вероятно, будет кодировать больше, чем вы хотите, поскольку оно предполагает контекст HTML. (Конечно, вы можете захотеть, чтобы, если вас беспокоит предотвращение XSS в заголовках Subject определенных веб-почтовых клиентов. Обычно эти клиенты уже должны иметь встроенную защиту, поэтому, если вы закодируете ее, она может быть закодирована дважды и не правильно рендерится.)
Имейте в виду, что если вы используете StringUtilities.stripControls()
, то ваш движок SAST Veracode все равно может пометить ваш код для CWE, хотя я не уверен, что он распознает метод этого класса как удаление флага taint в данном конкретном случае. (Но вы всегда можете упомянуть это как смягчающий комментарий.)