Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CWE-352 (跨站请求伪造(CSRF)) — Vulnerability Class 4777

4777 vulnerabilities classified as CWE-352 (跨站请求伪造(CSRF)). AI Chinese analysis included.

CWE-352, Cross-Site Request Forgery, is a web application weakness where the system fails to verify that an incoming request was intentionally initiated by the authenticated user rather than an unauthorized actor. Attackers typically exploit this vulnerability by tricking a victim into submitting a malicious request, often via a hidden link or form on a third-party site, while the victim is logged into the target application. Because the browser automatically includes valid session cookies, the server processes the forged request as legitimate, potentially allowing unauthorized actions like fund transfers or profile changes. Developers mitigate this risk by implementing anti-CSRF tokens, synchronizer tokens, or validating the Origin and Referer headers to ensure requests originate from trusted sources, thereby preventing unauthorized state changes.

MITRE CWE Description
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.
Common Consequences (1)
Confidentiality, Integrity, Availability, Non-Repudiation, Access ControlGain Privileges or Assume Identity, Bypass Protection Mechanism, Read Application Data, Modify Application Data, DoS: Crash, Exit, or Restart
The consequences will vary depending on the nature of the functionality that is vulnerable to CSRF. An attacker could trick a client into making an unintentional request to the web server via a URL, image load, XMLHttpRequest, etc., which would then be treated as an authentic request from the client…
Mitigations (5)
Architecture and DesignUse 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]
ImplementationEnsure that the application is free of cross-site scripting issues (CWE-79), because most CSRF defenses can be bypassed using attacker-controlled script.
Architecture and DesignGenerate 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]
Architecture and DesignIdentify 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.
Architecture and DesignUse 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 f…
Examples (1)
This example PHP code attempts to secure the form submission process by validating that the user submitting the form has a valid session. A CSRF attack would not be prevented by this countermeasure because the attacker forges a request through the user's web browser in which a valid session already exists.
<form action="/url/profile.php" method="post"> <input type="text" name="firstname"/> <input type="text" name="lastname"/> <br/> <input type="text" name="email"/> <input type="submit" name="submit" value="Update"/> </form>
Bad · HTML
// initiate the session in order to validate sessions session_start(); //if the session is registered to a valid user then allow update if (! session_is_registered("username")) { echo "invalid session detected!"; // Redirect user to login page [...] exit; } // The user session is valid, so process the request // and update the information update_profile(); function update_profile { // read in the data from $POST and send an update // to the database SendUpdateToDatabase($_SESSION['username'], $_POST['email']); [...] echo "Your profile has been successfully updated."; }
Bad · PHP
CVE IDTitleCVSSSeverityPublished
CVE-2022-1846 Tiny Contact Form <= 0.7 - Arbitrary Settings Update via CSRF — Tiny Contact Form 4.3 -2022-06-27
CVE-2022-1845 WP Post Styling < 1.3.1 - Multiple CSRF — WP Post Styling 6.5 -2022-06-27
CVE-2022-1844 WP Sentry <= 1.0 - Arbitrary Settings Update to Stored XSS via CSRF — WP Sentry 5.4 -2022-06-27
CVE-2022-1843 MailPress <= 7.2.1 - Arbitrary Settings Update & Log Files Purge via CSRF — MailPress 6.5 -2022-06-27
CVE-2022-1842 OpenBook Book Data <= 3.5.2 - Arbitrary Settings Update to Stored XSS via CSRF — OpenBook Book Data 4.6 -2022-06-27
CVE-2022-1653 Social Share Buttons by Supsystic < 2.2.4 - Multiple CSRF — Social Share Buttons by Supsystic 4.3 -2022-06-27
CVE-2022-1627 My Private Site < 3.0.8 - Arbitrary Settings Update via CSRF — My Private Site 4.3 -2022-06-27
CVE-2022-1625 New User Approve < 2.4 - Arbitrary Settings Update & Invitation Code Creation via CSRF — New User Approve 6.5 -2022-06-27
CVE-2022-1573 HTML2WP <= 1.0.0 - Arbitrary Settings Update via CSRF — HTML2WP 4.3 -2022-06-27
CVE-2022-0875 miniOrange Google Authenticator < 1.0.5 - CSRF to Stored Cross-Site Scripting — Google Authenticator 7.1 -2022-06-27
CVE-2017-20093 Download Manager Plugin cross-site request forgery — Download Manager Plugin 4.3 Medium2022-06-24
CVE-2017-20091 File Manager Plugin cross-site request forgery — File Manager Plugin 4.3 Medium2022-06-23
CVE-2017-20090 Global Content Blocks Plugin cross-site request forgery — Global Content Blocks Plugin 4.3 Medium2022-06-23
CVE-2017-20088 Atahualpa Theme cross-site request forgery — Atahualpa Theme 4.3 Medium2022-06-23
CVE-2017-20065 Supsystic Popup Plugin cross-site request forgery — Popup Plugin 4.3 Medium2022-06-20
CVE-2022-1895 underConstruction < 1.20 - Construction Mode Deactivation via CSRF — underConstruction 6.5 -2022-06-20
CVE-2022-1832 CaPa Protect <= 0.5.8.2 - Arbitrary Settings Update via CSRF — CaPa Protect 6.5 -2022-06-20
CVE-2022-1831 WPlite <= 1.3.1 - Arbitrary Settings Update via CSRF — WPlite 4.3 -2022-06-20
CVE-2022-1830 Amazon Einzeltitellinks <= 1.3.3 - Arbitrary Settings Update to Stored XSS via CSRF — Amazon Einzeltitellinks 4.7 -2022-06-20
CVE-2022-1829 Inline Google Maps <= 5.11 - Arbitrary Settings Update to Stored XSS via CSRF — Inline Google Maps 4.7 -2022-06-20
CVE-2022-1828 PDF24 Articles To PDF <= 4.2.2 - Arbitrary Settings Update via CSRF — PDF24 Articles To PDF 6.5 -2022-06-20
CVE-2022-1827 PDF24 Article To PDF <= 4.2.2 - Arbitrary Settings Update via CSRF — PDF24 Article To PDF 6.5 -2022-06-20
CVE-2022-1826 Cross-Linker <= 3.0.1.9 - Arbitrary Cross-Link Creation via CSRF — Cross-Linker 6.5 -2022-06-20
CVE-2022-1818 Multi-page Toolkit <= 2.6 - Arbitrary Settings Update to Stored XSS via CSRF — Multi-page Toolkit 5.4 -2022-06-20
CVE-2022-1630 WP-Email < 2.69.0 - Log Deletion via CSRF — WP-EMail 4.3 -2022-06-20
CVE-2022-1610 Seamless Donations < 5.1.9 - Arbitrary Settings Update via CSRF — Seamless Donations: A Platform for Global Fundraising and Rebuilding using Stripe and PayPal 4.3 -2022-06-20
CVE-2022-1603 Mail Subscribe List < 2.1.4 - Arbitrary Subscribed User Deletion via CSRF — Mail Subscribe List 4.3 -2022-06-20
CVE-2017-20062 Elefant CMS cross-site request forgery — CMS 5.0 Medium2022-06-20
CVE-2017-20053 XYZScripts Contact Form Manager Plugin cross-site request forgery — Contact Form Manager Plugin 4.3 Medium2022-06-16
CVE-2021-36891 WordPress Photo Gallery by Supsystic plugin <= 1.15.5 - Cross-Site Request Forgery (CSRF) leading to Plugin Settings Change — Photo Gallery by Supsystic (WordPress plugin) 5.4 Medium2022-06-15

Vulnerabilities classified as CWE-352 (跨站请求伪造(CSRF)) represent 4777 CVEs. The CWE taxonomy describes the weakness; review individual CVEs for product-specific impact.