Skip to content

Update: Server_Side_Request_Forgery_Prevention_Cheat_Sheet #1784

@JLLeitschuh

Description

@JLLeitschuh

What is missing or needs to be updated?

Sometimes you need to be able to support arbitrary web requests in a context, but doing so is fraught with risks. It would be good to capture a standard/base set of IP addresses that need to be blocked in a deny-list approach when dealing with SSRF.

One case I had to work with was a project called ComputerCraft. They offer a scripting engine in Lua that lets you make arbitrary network requests within the context of the Minecraft Server running the Mod.

In order to adequately protect against this vulnerability, they needed to add quite a few IP address ranges to their deny-list:

https://github.com/cc-tweaked/CC-Tweaked/blob/b9ed66983d714bcb5c6bf15b428e01a035106dbf/projects/core/src/main/java/dan200/computercraft/core/apis/http/options/AddressPredicate.java#L112-L157

Capturing this list somewhere in the CheatSheet series may be helpful for those use-cases where an allow-list isn't possible and a deny-list is required.

How should this be resolved?

Add a section that states explicitly that a deny-list is not advised, and is prone to bypasses, but in that case, these are the set of IP ranges that we advise being forbidden.

Metadata

Metadata

Assignees

No one assigned

    Labels

    ACK_WAITINGIssue waiting acknowledgement from core team before to start the work to fix it.HELP_WANTEDIssue for which help is wanted to do the job.UPDATE_CSIssue about the update/refactoring of a existing cheat sheet.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions