Komunikaci prostřednictvím 127.0.0.1 lze považovat za další mechanismus IPC, který však znovu využívá existující protokoly. Stejně jako sdílená paměť nebo sokety nebo kanály pro doménu UNIX je to jeden z bezpočtu způsobů, jak mohou dva procesy komunikovat na jednom systému. Pokud věříte, že procesy ve vašem systému nebyly kompromitovány, můžete „slepě“ důvěřovat připojením přes 127.0.0.1.
Pokud víte, že IP adresa na druhém konci soketu TCP je 127.0.0.1, zaručuje to, že buď správce systému nakonfiguroval bránu firewall tak, aby přesměrovala toto konkrétní připojení, nebo že druhý konec soketu TCP je proces běžící na stejný stroj. Pokud tedy důvěřujete svému serveru jako celku, můžete důvěřovat 127.0.0.1. Nepoužívat soket TCP pro ochranu do hloubky však má své výhody.
Musíte být opatrní, jak implementujete kontrolu localhost. Localhost je 127.0.0.1 až do dne, kdy tomu tak není, například proto, že přejdete na verzi některé knihovny, která standardně používá IPv6, nebo protože se rozhodnete přidat do mixu nějakou formu přesměrování proxy, která vám umožní spouštět dvě služby na různých strojích nebo kontejnerech. Pokud začnete používat proxy, buďte opatrní a zkontrolujte na správném místě. A samozřejmě se musíte ujistit, že na stejném počítači nikdy nebudete hostovat nic jiného, co by mohlo být riskantní (i když proč byste to dělali v době virtuálních počítačů a kontejnerů).
Vědomí, že mluvíte se stejným strojem, vám říká pouze to, že některé proces na stejném počítači je na druhém konci připojení. Neříká vám, že je to správný proces. Za normálního provozu pravděpodobně běží oba procesy. Pokud se však stane něco špatného, například jeden proces se zhroutí po nedostatku paměti kvůli útoku typu denial-of-service, bude port volný pro další proces, který může poslouchat. A kdykoli se může jakýkoli místní proces připojit k běžícímu serveru. To vyžaduje, aby útočník mohl spustit nějaký proces lokálně, ale může to být nějaký neprivilegovaný proces, který by toho jinak moc nezvládl. Spoléhání se na 127.0.0.1 tedy nepředstavuje zranitelnost, ale ponechává vás otevřené eskalaci oprávnění.
Mohu, použijte místo toho zásuvku Unix. Unixové a TCP sokety fungují stejně, až na specifikaci adresy, ke které se chcete připojit nebo na které naslouchat, takže by to nevyžadovalo mnoho změn kódu. Unixový soket může mít oprávnění nebo jej může vytvořit nadřazený supervizor a nic jiného se k němu nemůže připojit. S Unixovým socketem máte záruku, že na stejném stroji běží nejen to, co je na druhém konci socketu, ale že je to očekávaný proces. Díky tomu budete zranitelní pouze vůči narušení zabezpečení v ověřovací službě nebo hlavní službě, spíše než proti narušení čehokoli, co běží na stejném počítači.