IBM Lotus Notes/Domino fails to encode Square Brackets ( [ ] ) in computed field/text, allowing XSS
Software:
IBM Lotus Notes/Domino
Affected Version(s):
Tested in R6 should work in prior versions as well.
Author:
Juan C Calderon
Description:
An attacker can bypass native Lotus Notes HTML encoding in a computed value by
adding square brackets to the beginning and end of a field of the following
types computed, computed for display, computed when composed or a "computed
text" element, Injecting HTML and JavaScript as desired.
NOTE: This won't work in editable fields
Trivial Example:
http://www.SomeLotusSite.com/FormReflectingURLValue?OpenForm&Field=[<script>.....</script>]
Solution:
Validate user input for square bracket characters ( [ ] ) in data shown
directly or indirectly in computed fields/texts