Skip to content

Commit b3fe333

Browse files
authored
Merge pull request #4576 from aschackmull/java/adjust-beanvalidation-qhelp
Java: Tweak qhelp to make it markdown-compatible.
2 parents fa344d2 + 0d926dc commit b3fe333

File tree

1 file changed

+14
-10
lines changed

1 file changed

+14
-10
lines changed

java/ql/src/Security/CWE/CWE-094/InsecureBeanValidation.qhelp

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,25 @@ untrusted) bean properties flow into the custom error message.</p>
1515
<ul>
1616
<li>Do not include validated bean properties in the custom error message.</li>
1717
<li>Use parameterized messages instead of string concatenation. For example:
18-
<pre>
19-
HibernateConstraintValidatorContext context = constraintValidatorContext.unwrap( HibernateConstraintValidatorContext.class );
20-
context.addMessageParameter( "foo", "bar" );
21-
context.buildConstraintViolationWithTemplate( "My violation message contains a parameter {foo}").addConstraintViolation();
22-
</pre></li>
18+
</li>
19+
</ul>
20+
<pre>HibernateConstraintValidatorContext context =
21+
constraintValidatorContext.unwrap(HibernateConstraintValidatorContext.class);
22+
context.addMessageParameter("foo", "bar");
23+
context.buildConstraintViolationWithTemplate("My violation message contains a parameter {foo}")
24+
.addConstraintViolation();</pre>
25+
<ul>
2326
<li>Sanitize the validated bean properties to make sure that there are no EL expressions.
2427
An example of valid sanitization logic can be found <a href="https://github.com/hibernate/hibernate-validator/blob/master/engine/src/main/java/org/hibernate/validator/internal/engine/messageinterpolation/util/InterpolationHelper.java#L17">here</a>.</li>
2528
<li>Disable the EL interpolation and only use <code>ParameterMessageInterpolator</code>:
26-
<pre>
27-
Validator validator = Validation.byDefaultProvider()
29+
</li>
30+
</ul>
31+
<pre>Validator validator = Validation.byDefaultProvider()
2832
.configure()
29-
.messageInterpolator( new ParameterMessageInterpolator() )
33+
.messageInterpolator(new ParameterMessageInterpolator())
3034
.buildValidatorFactory()
31-
.getValidator();
32-
</pre></li>
35+
.getValidator();</pre>
36+
<ul>
3337
<li>Replace Hibernate Validator with Apache BVal, which in its latest version does not interpolate EL expressions by default.
3438
Note that this replacement may not be a simple drop-in replacement.</li>
3539
</ul>

0 commit comments

Comments
 (0)