SECURITY RESEARCH Player PoC: stream plays from Munowatch CDN with no valid subscription. Server-side entitlement not enforced.
SECURITY PoC — NO AUTH
CDN bypass demo: stream served without an auth header
Playback

The Emperor: Owner of the Mask 9 Episodes (40 of 40)

EP 1The Emperor: Owner of the Mask 1EP 2The Emperor: Owner of the Mask 2EP 3The Emperor: Owner of the Mask 3EP 4The Emperor: Owner of the Mask 4EP 5The Emperor: Owner of the Mask 5EP 6The Emperor: Owner of the Mask 6EP 7The Emperor: Owner of the Mask 7EP 8The Emperor: Owner of the Mask 8EP 9The Emperor: Owner of the Mask 9EP 10The Emperor: Owner of the Mask 10EP 11The Emperor: Owner of the Mask 11EP 12The Emperor: Owner of the Mask 12EP 13The Emperor: Owner of the Mask 13EP 14The Emperor: Owner of the Mask 14EP 15The Emperor: Owner of the Mask 15EP 16The Emperor: Owner of the Mask 16EP 17The Emperor: Owner of the Mask 17EP 18The Emperor: Owner of the Mask 18EP 19The Emperor: Owner of the Mask 19EP 20The Emperor: Owner of the Mask 20EP 21The Emperor: Owner of the Mask 21EP 22The Emperor: Owner of the Mask 22EP 23The Emperor: Owner of the Mask 23EP 24The Emperor: Owner of the Mask 24EP 25The Emperor: Owner of the Mask 25EP 26The Emperor: Owner of the Mask 26EP 27The Emperor: Owner of the Mask 27EP 28The Emperor: Owner of the Mask 28EP 29The Emperor: Owner of the Mask 29EP 30The Emperor: Owner of the Mask 30EP 31The Emperor: Owner of the Mask 31EP 32The Emperor: Owner of the Mask 32EP 33The Emperor: Owner of the Mask 33EP 34The Emperor: Owner of the Mask 34EP 35The Emperor: Owner of the Mask 35EP 36The Emperor: Owner of the Mask 36EP 37The Emperor: Owner of the Mask 37EP 38The Emperor: Owner of the Mask 38EP 39The Emperor: Owner of the Mask 39EP 40The Emperor: Owner of the Mask 40
CDN bypass demonstration The API returned playingUrl for The Emperor: Owner of the Mask 9 with issubscriber: false and user_access: deny. The video above plays from Munowatch's own CDN with zero authentication.
Security research evidence Inspect entitlement results, CDN URLs, and the raw API response Access control failed
API response evidence
Endpoint called GET /api/preview/v2/15445/0
User ID used 0 (no user / not logged in)
JWT used Expired Feb 2024 (extracted from APK)
issubscriber false
user_access deny
paid_for YES (premium content)
substatus EXPIRED
serverhost 26
video_name empror ruler master of the mask 9_x264.mp4
playingUrl returned YES — URL in response
API playingUrl value https://munowatch.co/clips/ELI.mp4
CDN demo stream https://nkuba.b-cdn.net/cleve48/cfr/In.The.Grey.mp4

Finding: The server sets user_access=deny and issubscriber=false but still returns playingUrl in the same response. Subscription is enforced client-side only — any caller with the expired APK JWT can obtain stream URLs without a subscription. Munowatch CDN (b-cdn.net) serves content with no auth required (direct HTTP Range requests succeed with HTTP 206).