Serviços internos e localhost
Muitos serviços confiam em quem está na rede interna ou no localhost; o SSRF põe o servidor lá por você.
Numa rede típica, um serviço "só para dentro" costuma ficar sem senha, "porque só quem está na rede alcança". Exemplos: uma página de status em http://127.0.0.1:9000/, um banco de dados em 10.0.0.5, um painel de administração em 192.168.1.10. A fronteira é a própria rede: de fora, você nem chega a bater na porta.
O localhost (127.0.0.1) é o caso mais confundido. Ele não é um lugar fixo: é "esta mesma máquina". Quando o servidor busca http://127.0.0.1:9000/ para você, o 127.0.0.1 é o localhost DELE, não o seu. O mesmo vale para as faixas privadas, que só existem dentro da rede: 10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16, e a link-local 169.254.0.0/16.
Por isso o SSRF é grave: ele transforma "só quem está dentro alcança" em "qualquer um que mande uma URL alcança". O conserto, no código que busca a URL, é resolver o host e rejeitar qualquer IP dessas faixas internas.