CWE-918: Server-Side Request Forgery
Sources read 2026-10-29. MITRE's own page · All weakness notes · Added to CISA's list in the last seven days
What it is
From MITRE's CWE catalogue
The web server receives a URL or similar request from an upstream component and retrieves the contents of this URL, but it does not sufficiently ensure that the request is being sent to the expected destination.
MITRE classes it as a base-level weakness.
What it lets an attacker do
From MITRE's CWE catalogue
- Read Application Data (affects: confidentiality)
- Execute Unauthorized Code or Commands (affects: integrity)
- Bypass Protection Mechanism (affects: access control)
On CISA's exploited list
From CISA's exploited list
5 of the 108 entries CISA added from 2026-08-02 to 2026-10-30 name CWE-918, against 2 of 69 in the 90 days before. Over the whole catalogue 24 entries name it. The counts are small, so read them as a rough order, not a rate.
CISA's list is not every flaw that is exploited: it holds the ones CISA has evidence of, listed on the day it added them.
- CVE-2026-96655, Plex Media Server, added 2026-10-20
- CVE-2026-96652, Plex Media Server, added 2026-10-20
- CVE-2026-49869, Kestra Kestra OSS, added 2026-09-02
- CVE-2026-83548, SonicWall SMA1000 Appliances, added 2026-09-02
- CVE-2026-64849, MLflow MLflow, added 2026-08-19
How MITRE says to find it
From MITRE's CWE catalogue
- Automated Static Analysis
What MITRE suggests
From MITRE's CWE catalogue
These are MITRE's suggestions, quoted as it gives them. They are not a complete fix and not a substitute for reading the vendor's advisory for the product you run.
- Implementation: If there is a known list of applications, IP, hostname, and/or domains to which the product is allowed to communicate, then use allowlists to ensure that outgoing requests are restricted to these known entities.
- Implementation: If the product is expected to be able to connect to arbitrary IP addresses or domains, consider using a denylist that includes private network addresses, internal domain names, etc. The denylist could be in the application code or possibly enforced by firewalls or network segmentation [REF-1511].
- Implementation: Assume all input is malicious. Use an "accept known good" input validation strategy, i.e., use a list of acceptable inputs that strictly conform to specifications. Reject any input that does not strictly conform to specifications, or transform it into something that does.
Attack patterns MITRE links to it
From MITRE's CWE catalogue
Start with one piece of work.
Give us one piece of work and read access to one system. We map it and come back with what we found, what we would build and what it would take — before any commitment. You decide using our output, not our pitch.
Talk to us