...
For example, an application's strategy for avoiding cross-site scripting (XSS) vulnerabilities may include forbidding <script>
tags in inputs. Such blacklisting mechanisms are a useful part of a security strategy, even though they are insufficient for complete input validation and sanitization. When implemented, this form of validation must be performed only after normalizing the input.
Character information in Java SE 6 is based on the Unicode Standard, version 4.0 \ [[Unicode 2003|AA. References#Unicode 2003]\]. Character information in Java SE 7 is based on the Unicode Standard, version 6.0.0 \[ [Unicode 2011|AA. References#Unicode 2011]\].unmigrated-wiki-markup Wiki Markup
According to the Unicode Standard \ [[Davis 2008|AA. References#Davis 08]\], annex #15, Unicode Normalization Forms:
When implementations keep strings in a normalized form, they can be assured that equivalent strings have a unique binary representation.
Normalization Forms KC and KD must not be blindly applied to arbitrary text. Because they erase many formatting distinctions, they will prevent round-trip conversion to and from many legacy character sets, and unless supplanted by formatting markup, they may remove distinctions that are important to the semantics of the text. It is best to think of these Normalization Forms as being like uppercase or lowercase mappings: useful in certain contexts for identifying core meanings, but also performing modifications to the text that may not always be appropriate. They can be applied more freely to domains with restricted character sets.
...
Rule | Severity | Likelihood | Remediation Cost | Priority | Level |
---|---|---|---|---|---|
IDS01-J | high | probable | medium | P12 | L1 |
Related Guidelines
...
http://www.aitcnet.org/isai/] | Cross-site scripting [XYT] ] ]></ac:plain-text-body></ac:structured-macro> | |
CWE-289. Authentication bypass by alternate name | ||
| CWE-180. Incorrect behavior order: Validate before canonicalize |
Bibliography
<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="4b6a5b0d-b0eb-4a95-9329-d6b01f6e5f96"><ac:plain-text-body><![CDATA[[[API 2006AA. References#API 06]]]]></ac:plain-text-body></ac:structured-macro> | <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="8f42eb69-5ae6-4d60-9ba5-3d73bd9cd326"><ac:plain-text-body><![CDATA[ | |
[[Davis 2008AA. References#Davis 08]] | ]]></ac:plain-text-body></ac:structured-macro> | <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="a3926b34-1738-4e24-9cb3-444bc0c2439c"><ac:plain-text-body><![CDATA[ |
[[Weber 2009AA. References#Weber 09]]]]></ac:plain-text-body></ac:structured-macro> |
...
IDS00-J. Sanitize untrusted data passed across a trust boundary