Major security hole affecting required text fields
--------------------------------------------------

                 Key: WICKET-2397
                 URL: https://issues.apache.org/jira/browse/WICKET-2397
             Project: Wicket
          Issue Type: Bug
          Components: wicket
    Affects Versions: 1.4-RC7, 1.4-RC6, 1.4-RC5, 1.4-RC4, 1.4-RC3, 1.4-RC2, 
1.4-RC1, 1.4-M3, 1.4-M2, 1.4-M1, 1.3.7
            Reporter: Jörn Zaefferer
            Priority: Blocker


AbstractTextComponent overrides isInputNullable to return false, instead of the 
default true, defined in FormComponent. FormComponent#checkRequired uses 
isInputNullable to check if an input was disabled. That makes it possible to 
submit a form with a required field without that field, completely skipping the 
validation (forms onSubmit is called). We consider this a wide open security 
hole, as basically any form with a required text field, relying on the 
required-validation, is affected.

The hole can easily be exploited by not removing certain fields from a form 
submit, eg. by removing them from the DOM via Firebug (then doing a regular 
submit), or forging the complete request with an appropriate tool.

>From what is commented on isInputNullable, it seems like the check should 
>actually be replaced with an actual check of enabled/disabled 
>methods/properties. A required input is only optional, when it is actually not 
>enabled (on the serverside), not just because its key/value pair is missing in 
>the request.

I''ll attach a test application.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to