Anti-CSRF Token

This article is based on the ServiceNow support article. See the original article on the ServiceNow support site: ServiceNow HI: Anti-CSRF Token

Cross-Site Request Forgery (CSRF) is an attack that forces an end user to execute unwanted actions on a web application in which they're currently authenticated. CSRF attacks specifically target state-changing requests, not theft of data, since the attacker has no way to see the response to the forged request. 

This property will ensure the use of a secure token to identify and validate incoming requests which in turn is used to prevent these attacks.

Following properties can be enabled for added controls over CSRF token.

  1. glide.security.csrf_previous.time_limit
  2. glide.security.csrf_previous.allow
  3. glide.security.csrf.strict.validation.mode


Anti-CSRF Token
Property Nameglide.security.use_csrf_token
Configuration TypeSystem Properties (/sys_properties_list.do)
PurposeTo protect the application from potential CSRF attack.
RequirementMandatory 
Recommended ValueTrue 
Default BehaviorSet to true.
Revertible behaviorN/A 
Role requiredSecurity_admin 
Release VersionSpring 2010 
Functional Impact

Low- This remediation enables an extra validation step before the instance user submits a write request to the instance. Every write request contains a CSRF token (i.e a validation/CSRF ID tied to the user session). When the user session expires, the secure token expires with it.

Security Risk

(High) Cross site Request Forgery is a significant security risk that violates the integrity of the instance data. An attacker can launch the CSRF attack on any instance user by abusing the application's trust on the instance user. With the help of social engineering attacks, a user can submit a malformed request on behalf of the attacker on the instance. 

WorkaroundNo alternate method available.
References

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)

https://www.owasp.org/index.php/Cross-Site_Request_Forgery_(CSRF)_Prevention_Cheat_Sheet#Synchronizer_.28CSRF.29_Tokens

How to configure

  1. Navigate to /sys_properties_list.do
  2. Search for the property.
  3. Assign the recommended value as shown in the screenshot > Click Update.

What's here


Related content

ServiceNow HI: Anti-CSRF Token




Last modified on Oct 29, 2020