Mobbin's blurred screenshots aren't blurred

Originally disclosed Aug 12, 2025  ·  No response received after ~9 months

Mobbin uses image-processing query parameters to serve low-resolution, watermarked previews to free users. The full-resolution, unwatermarked source image is served from the same URL — the "protection" exists only in the parameters appended to it.

The vulnerability

Mobbin's CDN (bytescale.mobbin.com) processes images dynamically via URL parameters. A gated preview for a free user looks like this:

# What free users receive
https://bytescale.mobbin.com/FW25bBB/image/
  mobbin.com/prod/content/app_screens/<id>.png
  ?f=webp&w=15&q=85&fit=shrink-cover   ← width set to 15
  &extend-bottom=120
  &image=/mobbin.com/prod/watermark/...  ← watermark overlay
  &gravity=bottom&v=1.0

Strip all parameters, or simply change w=15 to w=1920 and remove the watermark overlay, and you receive the full source image at full quality — no authentication check, no server-side access control.

# Full resolution, no watermark
https://bytescale.mobbin.com/FW25bBB/image/
  mobbin.com/prod/content/app_screens/<id>.png
  ?f=webp&w=1920&q=100
Impact
Any Mobbin image URL — obtainable from page source, DevTools, or network inspection — can be transformed into its full-resolution equivalent. This bypasses the paid subscription that gates high-quality screenshot access.

Side-by-side comparison

Using free screen as example

What free users see (w=15)
Blurred preview
Full resolution (w=1920)
Full resolution

Adjust the URL parameters below to see the effect in real time.

CDN Parameter Explorer
Watermark overlay
Loading preview...

The right fix is server-side access control: the CDN should verify a signed token or session before serving gated content, regardless of the parameters supplied.

# CDN validates an HMAC signature before processing
https://cdn.example.com/image/asset.png
  ?w=1920&sig=hmac_sha256(secret, path+params+expiry)
  &expires=1748995200


Timeline

Aug 12, 2025
Vulnerability reported to security@mobbin.com. Conversation ID: cnv_1gdb4hcr
Sep – Dec 2025
Multiple follow-ups sent. No substantive response.
April 17, 2026
Final notice sent. 14-day response window given before public disclosure.
May 3, 2026
No response received. Publishing in line with responsible disclosure norms.