secure
attribute RS-A1002Cookies set without the secure
flag can cause the user agent to send those
cookies in plaintext over an HTTP session with the same server. This can lead
to man-in-the-middle
attacks.
In past it has led to the following vulnerabilities:
Generally, the production sites redirect any requests that are sent over HTTP
to the same URL but on HTTPS. In this case, make sure that these HTTP requests
that are immediately redirected to HTTPS do not carry any cookie that contains
sensitive information. The secure
flag limits cookies to HTTPS traffic only
so, the browser will never send secure cookies with requests that are not
encrypted.
use cookie::Cookie;
let mut c = Cookie::new("data", "sensitive value")
c.set_secure(false);
use cookie::Cookie;
let mut c = Cookie::new("data", "sensitive value")
c.set_secure(true);
Cookie::set_secure
CookieBuilder::secure
While this issue mostly makes sense if you're setting a sensitive cookie,
DeepSource will flag all the cookies encountered without the secure
flag.
This is to ensure that every cookie is audited carefully.