Enhanced Cross-Site Request Forgery (CSRF) Prevention
In theory (and confirmed), a bad actor could give someone a carefully crafted web page via email, SMS, etc, that - when visited, could allow them control of the list control panel as if the bad actor was logged in themselves. This includes changing any mailing list password, as well as the Dada Mail Root Password - which could effectively shut out actual list owners of the mailing list and allow the bad actor complete and unfettered control of your mailing list. This vulnerability also affects profile logins.
For this vulnerability to work, the target of the bad actor would need to be logged into the list control panel themselves. This CSRF vulnerability in Dada Mail affects all versions of Dada Mail v11.15.1 and below. Although we know of no known CSRF exploits that have happened in the wild, this vulnerability has been confirmed by our testing, and by a third party.
Security enhancements added to v11.16.0:
-
CSRF protection to all list control panel screens (including plugins) when logged in
-
Initial CSRF protection on the actual list control panel login form is enabled by default
This feature was available in Dada Mail, but was not enabled by default
-
CSRF protection for any a user who logs into their profile would be able to do when logged in
-
CSRF protection for the initial profile login form
-
Login cookies for both the list control panel and profiles have the, "SameSite" flag added, and set to, "Lax"
-
Login cookies for both the list control panel and profiles have the, "secure" flag added, and set to, "1", if the connection is under https
-
Google reCAPTCHA added to the Change List Password, Change Dada Mail Root Password, Profile login, and Profile Registration
You'll want to set up Google reCAPTCHA in the included Dada Mail installer.
More Details
Here's an overview of CSRF:
https://owasp.org/www-community/attacks/csrf
v11.16.0 comes with Cross-Site Request Forgery prevention using the Double Submit Cookie pattern: (https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html#double-submit-cookie).
To enhance this, we also "HMAC the token with a secret key known only by the server and place this value in a cookie" (as described in the above doc), and set cookies to have, SameSite set to, Lax (instead of not setting SameSite at all), (https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html#samesite-cookie-attribute),
Additional Suggestions to Help Harden Security
-
Run Dada Mail under https
Running Dada Mail under https will protect sensitive data from being able to read in transmission.
-
Set up Google reCAPTCHA
Google reCAPTCHA helps stop automated submission of forms in Dada Mail.
Enhanced Cross-Site Request Forgery (CSRF) Prevention
In theory (and confirmed), a bad actor could give someone a carefully crafted web page via email, SMS, etc, that - when visited, could allow them control of the list control panel as if the bad actor was logged in themselves. This includes changing any mailing list password, as well as the Dada Mail Root Password - which could effectively shut out actual list owners of the mailing list and allow the bad actor complete and unfettered control of your mailing list. This vulnerability also affects profile logins.
For this vulnerability to work, the target of the bad actor would need to be logged into the list control panel themselves. This CSRF vulnerability in Dada Mail affects all versions of Dada Mail v11.15.1 and below. Although we know of no known CSRF exploits that have happened in the wild, this vulnerability has been confirmed by our testing, and by a third party.
Security enhancements added to v11.16.0:
CSRF protection to all list control panel screens (including plugins) when logged in
Initial CSRF protection on the actual list control panel login form is enabled by default
This feature was available in Dada Mail, but was not enabled by default
CSRF protection for any a user who logs into their profile would be able to do when logged in
CSRF protection for the initial profile login form
Login cookies for both the list control panel and profiles have the, "SameSite" flag added, and set to, "Lax"
Login cookies for both the list control panel and profiles have the, "secure" flag added, and set to, "1", if the connection is under https
Google reCAPTCHA added to the Change List Password, Change Dada Mail Root Password, Profile login, and Profile Registration
You'll want to set up Google reCAPTCHA in the included Dada Mail installer.
More Details
Here's an overview of CSRF:
https://owasp.org/www-community/attacks/csrf
v11.16.0 comes with Cross-Site Request Forgery prevention using the Double Submit Cookie pattern: (https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html#double-submit-cookie).
To enhance this, we also "HMAC the token with a secret key known only by the server and place this value in a cookie" (as described in the above doc), and set cookies to have, SameSite set to, Lax (instead of not setting SameSite at all), (https://cheatsheetseries.owasp.org/cheatsheets/Cross-Site_Request_Forgery_Prevention_Cheat_Sheet.html#samesite-cookie-attribute),
Additional Suggestions to Help Harden Security
Run Dada Mail under https
Running Dada Mail under https will protect sensitive data from being able to read in transmission.
Set up Google reCAPTCHA
Google reCAPTCHA helps stop automated submission of forms in Dada Mail.