Note: In light of the extraordinary global circumstances due to COVID-19, Chrome has temporarily rolled back the enforcement of SameSite cookie labeling on Chrome 80 stable. An advance notice will be updated on Chromium blog when they plan to resume the gradual rollout, which is now aimed for over the summer: https://blog.chromium.org/2020/04/temporarily-rolling-back-samesite.html
The upcoming Chrome release, Chrome 80 is projected to change the default cross-domain behavior of cookies. This change will enhance the security though requires customers and partners to test Citrix ADC deployments that rely on cookies.
The permanent fix for the configuration level options to accommodate this change will be available in versions 13.0, 12.1, 12.0 and 11.1 and following are the targeted dates.
ADC Versions | Release Dates | Status |
13.0 52.24 | March 24th 2020 | Released |
12.1 55.24 | March 6th 2020 | Released |
12.0 63.21 | July 7th 2020 | Released |
11.1 64.11 | March 25th 2020 | Released |
The following are the available workarounds:
add rewrite action rewrite_http_header replace_all http.RES.full_Header "\"SameSite=None; Secure; path=/\"" -search "regex(re!(path=/\\; SameSite)|(path=/)!)" add rewrite policy append_samesite_cookie "http.RES.HEADER(\"Set-Cookie\").EXISTS" rewrite_http_headerabove rewrite policies needs to be bound application specific virtual server on Citrix ADC.
set lb vserver lbvs -persistenceType RULE -rule "HTTP.REQ.COOKIE.VALUE(\"SESSIONID\")" -resRule "HTTP.RES.SET_COOKIE.COOKIE(\"SESSIONID\").VALUE(0)"Note: The persistence timeout value must be chosen appropriately based on the application requirement.
enable feature lb rewrite add lb vserver tier-1-lb <protocol> <IP> <port> add service tier-2-lb-svc <tier-2-vserver-IP> <tier-2-vserver-protocol> <tier-2-vserver-port> bind lb vserver tier-1-lb tier-2-lb-svc add rewrite action rewrite_http_header replace_all http.RES.full_Header "\"SameSite=None; Secure; path=/\"" -search "regex(re!(path=/\\; SameSite)|(path=/)!)" add rewrite policy append_samesite_cookie "http.RES.HEADER(\"Set-Cookie\").EXISTS" rewrite_http_header bind lb vserver tier-1-lb -policyname append_samesite_cookie -priority 10 -type RESPONSENote:- This should work even if the back end server does not include any cookie of its own.