Disable embedded HTML code [Updated in Security Center 1.3]
Use the glide.ui.security.allow_codetag property to disable support for embedding HTML code created using the [code] tag.
Disable support for displaying HTML code embedded using the [code] tag. This tag allows rendered HTML to display in journal fields and may lead to cross-site scripting (XSS) attacks. These attacks can enable foreign scripts to execute on a user session in the logged in browser's context. Attackers can use these scripts to steal session information and sensitive data. The HTML language was not designed to separate script from formatting, so allowing user-controlled HTML in any system has inherent risk.
If setting glide.ui.security.allow_codetag to false disrupts instance functionality, for example, if your instance uses a feature that relies on HTML rendering in journal fields, you can maintain a compliant security posture by keeping glide.ui.security.allow_codetag set to true and setting glide.ui.security.codetag.allow_script to false. This change disables script execution within [code] tags while preserving HTML rendering. Note that this approach carries some residual risk, as it relies on sanitizing all known script conventions within HTML rather than prohibiting HTML code tags entirely.
Set the glide.ui.security.allow_codetag system property to false to completely prohibit journal fields and forms from displaying rendered HTML.
The ServiceNow AI Platform mitigates many injection and cross-site attacks by implementing escaping and encoding techniques. As a result, users can't write/submit HTML formatted inputs for journal fields. But journal fields can render text enclosed within code tags as HTML.
- However, there is an associated security risk. If set to
true, malicious users can write harmful HTML JS code that may be executed on a different client browser after rendering of journal fields. - Set this property to
falseso that administrators can prevent journal fields from rendering HTML code by disabling support for the[code]tag.
More information
| Attribute | Description |
|---|---|
| Property name | glide.ui.security.allow\_codetag |
| Configuration type | System Properties \(/sys\_properties\_list.do\) |
| Category | Validation, sanitization, and encoding |
| Configure in Instance Security Center | Yes |
| Purpose | Protect against cross-site scripting and malicious script execution |
| Recommended value | false |
| Default value | true |
| Security risk rating | 4.2 |
| Functional impact | This remediation enforces HTML encoding to occur on the UI and renders the encoded results to the user. This property is set to If this property is set to If this property negatively affects functionality, set glide.ui.security.codetag.allow_script to |
| Security risk | \(Medium\) Input validation must occur in the application to defend against cross-site scripting attacks. These attacks enable foreign scripts to execute on a user session in the logged in browser's context. Attackers can use it to steal session information and sensitive data. |
Parent Topic:Validation, sanitization, and encoding