Skip to content
OpenAdvisories

Weakness (CWE)

CWE-352: Cross-Site Request Forgery

Compound

The web application does not, or cannot, sufficiently verify whether a request was intentionally provided by the user who sent the request, which could have originated from an unauthorized actor.

How to prevent it (7 mitigations)
  1. Architecture and Design

    Use a vetted library or framework that does not allow this weakness to occur or provides constructs that make this weakness easier to avoid [REF-1482].

    For example, use anti-CSRF packages such as the OWASP CSRFGuard. [REF-330]

    Another example is the ESAPI Session Management control, which includes a component for CSRF. [REF-45]

  2. Implementation

    Ensure that the application is free of cross-site scripting issues (CWE-79), because most CSRF defenses can be bypassed using attacker-controlled script.

  3. Architecture and Design

    Generate a unique nonce for each form, place the nonce into the form, and verify the nonce upon receipt of the form. Be sure that the nonce is not predictable (CWE-330). [REF-332]

  4. Architecture and Design

    Identify especially dangerous operations. When the user performs a dangerous operation, send a separate confirmation request to ensure that the user intended to perform that operation.

  5. Architecture and Design

    Use the "double-submitted cookie" method as described by Felten and Zeller:

    When a user visits a site, the site should generate a pseudorandom value and set it as a cookie on the user's machine. The site should require every form submission to include this value as a form value and also as a cookie value. When a POST request is sent to the site, the request should only be considered valid if the form value and the cookie value are the same.

    Because of the same-origin policy, an attacker cannot read or modify the value stored in the cookie. To successfully submit a form on behalf of the user, the attacker would have to correctly guess the pseudorandom value. If the pseudorandom value is cryptographically strong, this will be prohibitively difficult.

    This technique requires Javascript, so it may not work for browsers that have Javascript disabled. [REF-331]

  6. Architecture and Design

    Do not use the GET method for any request that triggers a state change.

  7. Implementation

    Check the HTTP Referer header to see if the request originated from an expected page. This could break legitimate functionality, because users or proxies may have disabled sending the Referer for privacy reasons.

Source: MITRE CWE-352

6,785 results · Feed

  • Unscored —

    The Entity Embed module provides a filter to allow embedding entities in content fields. In certain circumstances, the …

  • High —

    Cross Site Request Forgery in concrete5/concrete5

    A cross-site request forgery vulnerability exists in Concrete CMS <v9 that could allow an attacker to make requests on behalf of other users.

  • Unscored —

    A CWE-352: Cross-Site Request Forgery (CSRF) vulnerability exists that could induce users to perform unintended actions…

  • Unscored —

    A CWE-352: Cross-Site Request Forgery (CSRF) exists that could cause a remote attacker to gain unauthorized access to t…

  • Medium 6.3

    Cross Site Request Forgery in Grafana

    Grafana is an open-source platform for monitoring and observability. Affected versions are subject to a cross site request forgery vulnerability which allows attackers to elevate their privileges by mounting cross-origin attacks against authenticated high-pri…

  • High 8.8

    Cross Site Request Forgery in Gitea

    Cross Site Request Forgery (CSRF) vulnerability exists in Gitea before 1.5.2 via API routes.This can be dangerous especially with state altering POST requests.

  • Medium 5.7

    Cross-Site Request Forgery (CSRF) in microweber/microweber

    Cross-Site Request Forgery (CSRF) in Packagist microweber/microweber prior to 1.2.11.

  • Unscored —

    IP2Location Country Blocker < 2.26.6 - Arbitrary Country Ban via CSRF

    The IP2Location Country Blocker WordPress plugin before 2.26.6 does not have CSRF check in the ip2location_country_blocker_save_rules AJAX action, allowing attackers to make a logged in admin block arbitrary country, or block all of them at once, preventing u…

  • Unscored —

    SupportCandy < 2.2.7 - CSRF to Cross-Site Scripting

    The SupportCandy WordPress plugin before 2.2.7 does not have CSRF check in the wpsc_tickets AJAX action, nor has any sanitisation or escaping in some of the filter fields which could allow attackers to make a logged in user having access to the ticket lists d…

  • Unscored —

    SupportCandy < 2.2.7 - Arbitrary Ticket Deletion via CSRF

    The SupportCandy WordPress plugin before 2.2.7 does not have CRSF check in its wpsc_tickets AJAX action, which could allow attackers to make a logged in admin call it and delete arbitrary tickets via the set_delete_permanently_bulk_ticket setting_action.

  • Unscored —

    IP2Location Country Blocker < 2.26.5 - Subscriber+ Arbitrary Country Ban

    The IP2Location Country Blocker WordPress plugin before 2.26.5 does not have authorisation and CSRF checks in the ip2location_country_blocker_save_rules AJAX action, allowing any authenticated users, such as subscriber to call it and block arbitrary country, …

  • High 7.1

    A CWE-352: Cross-Site Request Forgery (CSRF) vulnerability exists on the web server used, that could cause a leak of se…

  • High 7.5

    Cross-Site Request Forgery in xwiki-platform

    ### Impact It's possible to know if a user has or not an account in a wiki related to an email address, and which username(s) is actually tied to that email by forging a request to the Forgot username page. Note that since this page does not have a CSRF check…

  • High 8.8
    CVE-2021-46398 Public exploit

    Cross-Site Request Forgery in Filebrowser

    A Cross-Site Request Forgery vulnerability exists in Filebrowser < 2.18.0 that allows attackers to create a backdoor user with admin privilege and get access to the filesystem via a malicious HTML webpage that is sent to the victim. An admin can run commands …

  • Unscored —

    Link Library < 7.2.8 - Library Settings Reset via CSRF

    The Link Library WordPress plugin before 7.2.8 does not have CSRF check when resetting library settings, allowing attackers to make a logged in admin reset arbitrary settings via a CSRF attack

  • Unscored —

    NextScripts: Social Networks Auto-Poster < 4.3.25 - Arbitrary Post Deletion via CSRF

    The NextScripts: Social Networks Auto-Poster WordPress plugin before 4.3.25 does not have CSRF check in place when deleting items, allowing attacker to make a logged in admin delete arbitrary posts via a CSRF attack

  • Unscored —

    Error Log Viewer < 1.1.2 - Arbitrary Text File Deletion via CSRF

    The Error Log Viewer WordPress plugin before 1.1.2 does not perform nonce check when deleting a log file and does not have path traversal prevention, which could allow attackers to make a logged in admin delete arbitrary text files on the web server.

  • High 8.1

    CSRF token missing in Symfony

    Symfony is a PHP framework for web and console applications and a set of reusable PHP components. The Symfony form component provides a CSRF protection mechanism by using a random token injected in the form and using the session to store and control the token…

  • Unscored —

    LabTools <= 1.0 - Subscriber+ Arbitrary Publication Deletion

    The LabTools WordPress plugin through 1.0 does not have proper authorisation and CSRF check in place when deleting publications, allowing any authenticated users, such as subscriber to delete arbitrary publication

  • High 8.8

    Cross Site Request Forgery in Moodle

    A flaw was found in Moodle in versions 3.11 to 3.11.4, 3.10 to 3.10.8, 3.9 to 3.9.11 and earlier unsupported versions. The "delete badge alignment" functionality did not include the necessary token check to prevent a CSRF risk.

  • High 8.0

    Cross-Site Request Forgery (CSRF) in yetiforcecompany/yetiforcecrm

    Cross-Site Request Forgery (CSRF) in Packagist yetiforce/yetiforce-crm prior to 6.3.0.

  • Unscored —

    WP125 < 1.5.5 - Arbitrary Ad Deletion via CSRF

    The WP125 WordPress plugin before 1.5.5 does not have CSRF checks in various action, for example when deleting an ad, allowing attackers to make a logged in admin delete them via a CSRF attack

  • Unscored —

    Accept Donations with PayPal < 1.3.4 - Arbitrary Post Deletion via CSRF

    The Accept Donations with PayPal WordPress plugin before 1.3.4 does not have CSRF check in place and does not ensure that the post to be deleted belongs to the plugin, allowing attackers to make a logged in admin delete arbitrary posts from the blog

  • Unscored —

    WP Extra File Types < 0.5.1 - CSRF to Stored Cross-Site Scripting

    The WP Extra File Types WordPress plugin before 0.5.1 does not have CSRF check when saving its settings, nor sanitise and escape some of them, which could allow attackers to make a logged in admin change them and perform Cross-Site Scripting attacks

  • Unscored —

    Simple Download Monitor < 3.9.9 - Multiple CSRF

    The Simple Download Monitor WordPress plugin before 3.9.9 does not enforce nonce checks, which could allow attackers to perform CSRF attacks to 1) make admins export logs to exploit a separate log disclosure vulnerability (fixed in 3.9.6), 2) delete logs (fix…

  • Medium 5.4

    WordPress Email Tracker plugin <= 5.2.6 - Cross-Site Request Forgery (CSRF) vulnerabilities leading to single or bulk e-mail entries deletion

    Cross-Site Request Forgery (CSRF) vulnerabilities leading to single or bulk e-mail entries deletion discovered in Email Tracker WordPress plugin (versions <= 5.2.6).

  • High 8.8

    XootiX Plugins <= Various Versions Cross-Site Request Forgery to Arbitrary Options Update

    The Login/Signup Popup, Waitlist Woocommerce ( Back in stock notifier ), and Side Cart Woocommerce (Ajax) WordPress plugins by XootiX are vulnerable to Cross-Site Request Forgery via the save_settings function found in the ~/includes/xoo-framework/admin/class…

  • High 8.8

    Crisp Live Chat <= 0.31 Cross-Site Request Forgery to Stored Cross-Site Scripting

    The Crisp Live Chat WordPress plugin is vulnerable to Cross-Site Request Forgery due to missing nonce validation via the crisp_plugin_settings_page function found in the ~/crisp.php file, which made it possible for attackers to inject arbitrary web scripts in…

  • Medium 5.7

    Cross-Site Request Forgery (CSRF) in livehelperchat/livehelperchat

    Cross-Site Request Forgery (CSRF) in GitHub repository livehelperchat/livehelperchat prior to 2.0.

  • High 7.6

    Cross-Site Request Forgery (CSRF) in janeczku/calibre-web

    calibre-web is vulnerable to Cross-Site Request Forgery (CSRF)

  • Unscored —

    Event Calendar < 1.1.51 - Subscriber+ Event Creation

    The EventCalendar WordPress plugin before 1.1.51 does not have proper authorisation and CSRF checks in the add_calendar_event AJAX actions, allowing users with a role as low as subscriber to create events

  • Medium 4.5

    Cross-Site Request Forgery (CSRF) in phoronix-test-suite/phoronix-test-suite

    phoronix-test-suite is vulnerable to Cross-Site Request Forgery (CSRF)

  • Medium 4.3

    Cross-Site Request Forgery (CSRF) in livehelperchat/livehelperchat

    livehelperchat is vulnerable to Cross-Site Request Forgery (CSRF)

  • Medium 5.7

    Cross-Site Request Forgery (CSRF) in livehelperchat/livehelperchat

    livehelperchat is vulnerable to Cross-Site Request Forgery (CSRF)

  • Medium 5.4

    WordPress PHP Everywhere Plugin <= 2.0.2 is vulnerable to Cross Site Request Forgery (CSRF)

    Cross-Site Request Forgery (CSRF) vulnerability in Alexander Fuchs PHP Everywhere plugin <= 2.0.2 versions.

  • Medium 5.4

    Cross-Site Request Forgery (CSRF) in phoronix-test-suite/phoronix-test-suite

    phoronix-test-suite is vulnerable to Cross-Site Request Forgery (CSRF)

  • Medium 6.5

    Cross-Site Request Forgery (CSRF) in phoronix-test-suite/phoronix-test-suite

    phoronix-test-suite is vulnerable to Cross-Site Request Forgery (CSRF)

  • Medium 5.4

    CSRF vulnerability in Jenkins batch task Plugin

    Cross-site request forgery (CSRF) vulnerabilities in Jenkins batch task Plugin 1.19 and earlier allows attackers with Overall/Read access to retrieve logs, build or delete a batch task.

  • Medium 4.3
    CVE-2022-23111 EPSS 27%

    CSRF vulnerability and missing permission checks in Jenkins Publish Over SSH Plugin

    A cross-site request forgery (CSRF) vulnerability in Jenkins Publish Over SSH Plugin 1.22 and earlier allows attackers to connect to an attacker-specified SSH server using attacker-specified credentials.

  • High 7.1

    Cross-Site Request Forgery in Jenkins Bitbucket Branch Source Plugin

    A cross-site request forgery (CSRF) vulnerability in Jenkins Bitbucket Branch Source Plugin 737.vdf9dc06105be and earlier allows attackers to connect to an attacker-specified URL using attacker-specified credentials IDs obtained through another method, captur…