File tree 2 files changed +25
-1
lines changed
main/java/org/springframework/security/web/firewall
test/java/org/springframework/security/web/firewall
2 files changed +25
-1
lines changed Original file line number Diff line number Diff line change @@ -314,7 +314,7 @@ private static boolean containsOnlyPrintableAsciiCharacters(String uri) {
314
314
int length = uri .length ();
315
315
for (int i = 0 ; i < length ; i ++) {
316
316
char c = uri .charAt (i );
317
- if (c < '\u0021 ' || '\u007e' < c ) {
317
+ if (c < '\u0020 ' || c > '\u007e' ) {
318
318
return false ;
319
319
}
320
320
}
Original file line number Diff line number Diff line change @@ -297,6 +297,30 @@ public void getFirewalledRequestWhenAllowEncodedPeriodAndEncodedPeriodInThenNoEx
297
297
this .firewall .getFirewalledRequest (this .request );
298
298
}
299
299
300
+ @ Test (expected = RequestRejectedException .class )
301
+ public void getFirewalledRequestWhenExceedsLowerboundAsciiThenException () {
302
+ this .request .setRequestURI ("/\u0019 " );
303
+ this .firewall .getFirewalledRequest (this .request );
304
+ }
305
+
306
+ @ Test
307
+ public void getFirewalledRequestWhenContainsLowerboundAsciiThenNoException () {
308
+ this .request .setRequestURI ("/ " );
309
+ this .firewall .getFirewalledRequest (this .request );
310
+ }
311
+
312
+ @ Test
313
+ public void getFirewalledRequestWhenContainsUpperboundAsciiThenNoException () {
314
+ this .request .setRequestURI ("/~" );
315
+ this .firewall .getFirewalledRequest (this .request );
316
+ }
317
+
318
+ @ Test (expected = RequestRejectedException .class )
319
+ public void getFirewalledRequestWhenExceedsUpperboundAsciiThenException () {
320
+ this .request .setRequestURI ("/\u007f " );
321
+ this .firewall .getFirewalledRequest (this .request );
322
+ }
323
+
300
324
// --- from DefaultHttpFirewallTests ---
301
325
302
326
/**
You can’t perform that action at this time.
0 commit comments