May 23, 2026

Sandboxed, scrutinized, still roasted

The Security of Ephemeral Pages

He fixed a dangerous hole, but the comments say the real mess is still showing

TLDR: The developer closed a serious loophole that could let uploaded pages pretend to be part of the main site, a big deal for user safety. But commenters weren’t ready to clap — they argued some remaining defenses still look shaky and called out choices they think attackers could easily sidestep.

A developer built a tiny service for sharing short-lived web pages, then did the responsible thing: went hunting for security problems before the internet did it for him. The biggest scare was simple but nasty — people could upload a page and, by using a direct link, make that page run as if it belonged to the main site. That could mean tricking visitors, faking the site, or setting up future attacks. So the fix was a wall of browser rules, tighter page handling, and locking those uploaded pages inside a restricted box.

But in the court of public opinion, the real fireworks came from the comments. The loudest critics basically said, “Nice patch, but why are you still trusting giant public script warehouses?” One commenter dragged the app for allowing code from services like jsDelivr and unpkg, arguing that letting in “anything from npm” is like locking your front door and leaving the window open. Another hot take mocked the rate-limiting idea, saying a defense based on the easy-to-fake browser name is barely a defense at all. Ouch.

The mood was half security review, half roast session. The humor came from the sheer disbelief: people joked that some protections looked sturdy right up until you noticed they rested on user-controlled labels and cloud storage duct tape. In other words, the builder brought receipts, but the crowd brought popcorn.

Key Points

  • The article centers on a security review of a web app that accepts and serves arbitrary HTML from the public internet.
  • The critical vulnerability identified was that `/api/pages/:id/content` returned raw uploaded HTML as `text/html` from the main app origin, enabling a direct-path bypass of UI isolation.
  • The article classifies the main risk as stored same-origin XSS, with possible downstream effects including phishing, origin abuse, privilege escalation, and attacks on admins.
  • To mitigate the issue, the app added HTTP security headers including CSP, `X-Content-Type-Options: nosniff`, `Referrer-Policy`, and `Permissions-Policy`, and updated `getPageContent` response headers.
  • Uploaded pages are now constrained by a sandbox-oriented CSP and rendered inside a sandboxed iframe, while the article also notes medium-severity issues around missing upload and abuse-report throttling.

Hottest takes

"serve anything on npm, which anyone can publish to" — minitech
"rate limiting using a key derived from the freely attacker-settable User-Agent header" — minitech
"not effective" — minitech
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.