Description
Describe the bug
Currently utilizing release 2.5.5.0 - looked at 2.6.0.0 and code is the same - so here it comes:
There are two observed issues with http parameter validation regarding "Length" checks
Observation 1: function:
SecurityWrapperRequest.public String[] getParameterValues(String name) {...}
Utilizes the setting:
HttpUtilities.URILENGTH
to validate the length of the value
Recommend adding a new parameter to differentiate "this vs that" so to say
Observation 2: Setting
The default setting for regex on httpParameterValue is:
Validator.HTTPParameterValue=^[-\p{L}\p{N}./+=_ !$*?@]{0,1000}$
This setting limits the value to 1000 bytes
To Reproduce
Create an http parameter > URILENGTH and send through cleansing
Expected behavior
Provide different length-settings between httpParameterValues versus URILENGTH
or
Remove the length check - and allow the regex to control validation
Reasoning:
they need to be validated differently
URL Length - prevent spamming an application
HttpParameter Length - prevent hacking / crashing an application
note granted - changing the MAXURI setting as well as reconfiguration of the HTTPParameterValue Regex statement is my current work-around, however the IT Security Team isn't that happy having a maximum URL Length that is massive.