github / github/codeql

Remediation advice in SSRF could be more broadly focused

Open
#18,815 2 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
CodeQL
Stars
10.1k
Forks
2.1k
Avg merge
2d 15h
Merged PRs (30d)
141

Description

**Description of the issue**

The [remediation advice for how to mitigate SSRF vulnerabilities ](https://github.com/github/codeql/blob/main/python/ql/src/Security/CWE-918/ServerSideRequestForgery-end.inc.qhelp#L7) is focused on URL allowlisting. While this is fairly good for https schemes where possible to implement, it's not really a comprehensive defense for SSRF.

The advice given assumes that an attacker can't manipulate DNS entries for the domain being allowlisted. It also doesn't offer any advice for mitigating SSRF if an attacker has complete control of the URL and an allowlist isn't practical.

It would be good to add a sentence to the advice to make the remediation advice less specific. Perhaps incorporating a mention of additional network or application controls to prevent servers from making connections to internal resources in the first place (e.g. based on IP addresses).

https://owasp.org/Top10/A10_2021-Server-Side_Request_Forgery_%28SSRF%29/

Contributor guide

Open the contributing guide

Research direction

Start with python/ql/src/Security/CWE-918/ServerSideRequestForgery-end.inc.qhelp at the remediation advice linked in the issue, then compare the OWASP SSRF guidance. Broaden the advice beyond URL allowlisting to mention additional network or application controls, and verify that the final text addresses both allowlisted and attacker-controlled URLs.

Written by the indexing model from the issue text.

Assessment

Domain
documentation, security
Issue type
Documentation
Difficulty
1/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.