CVE-2026-50183

MEDIUMPre-NVD 4.74.7
EchelonGraph scoreLOW confidence

Score 4.7 from GitHub Security Advisory published 2026-06-04. the CNA's CVSS baseline 4.7; sources differ by 0.0.

Triggered by: GitHub Security Advisory CVSS
Sources: cna:github_m, epss, ghsa
4.7
EchelonGraph verdictMonitorLow exploitation likelihood right now — keep watching.
  • Lower severity and no public exploit yet
CISA-KEV: Not listedEPSS: 0%CVSS: 4.7Exploit: NoneExposed: 0

No vendor fix yet — apply a workaround or compensating control (WAF / firewall / segmentation) and watch for a patch.

WWBN AVideo: Stored XSS via Hostile YouTube Video Title in AVideo YouTubeAPI Gallery Section

Stored XSS via Hostile YouTube Video Title in AVideo YouTubeAPI Gallery Section

Summary

A stored Cross-Site Scripting vulnerability (CWE-79; chained CWE-829, Inclusion of Functionality from Untrusted Control Sphere) in the AVideo YouTubeAPI plugin renders the snippet.title field returned by the YouTube Data API into the homepage gallery markup with no HTML encoding. The title is set by the YouTube video uploader (anyone in the world) and is treated by AVideo as trusted content. A YouTube uploader who controls a video matching the operator's configured query injects HTML into the AVideo homepage by setting their video's title to a JavaScript-bearing string; the payload then executes in the browser of every visitor who loads any page that renders the gallery.

Details

plugin/YouTubeAPI/YouTubeAPI.php::listVideos() fetches search results from the YouTube Data API and stores the snippet.title field unchanged inside a YPTvideoObject:

// plugin/YouTubeAPI/YouTubeAPI.php (listVideos excerpt)
$searchResponse = $youtube->search->listSearch(
    'snippet,contentDetails,statistics', $options
);
foreach ($searchResponse['items'] as $searchResult) {
    $vid = new YPTvideoObject(
        $searchResult["id"]["videoId"],
        $searchResult['snippet']["title"],          // uploader-controlled
        $searchResult['snippet']["description"],
        $searchResult['snippet']["thumbnails"]["high"]["url"],
        $searchResult['snippet']["channelTitle"],
        "https://www.youtube.com/embed/{$searchResult['id']['videoId']}"
    );
    $object->videos[] = $vid;
}

plugin/YouTubeAPI/gallerySection.php then renders the title into three HTML contexts inside each gallery card. Four reflection sites total, three of them completely unprotected:

// plugin/YouTubeAPI/gallerySection.php (foreach body)
$youtubeTitle = $video->title;
...
" title="<?php echo $youtubeTitle; ?>">          <!-- (i) attribute -->
    " alt="<?php echo str_replace('"', '', $youtubeTitle); ?>" ... />  <!-- (ii) attribute, partial -->

" title="<?php echo $youtubeTitle; ?>"> <!-- (iii) attribute --> <?php echo $youtubeTitle; ?> <!-- (iv) element body -->

Sites (i), (iii), and (iv) call no encoder. Site (ii) applies str_replace('"', '', $youtubeTitle) which strips quotes from one attribute and leaves the other three reflections untouched. The strongest sink is (iv) at line 60: a title containing alert(2222) produces alert(2222) in the rendered DOM, which the browser parses as a live script element and executes synchronously. The single half-mitigation at line 57 is the maintainer's evidence of awareness of the attribute-injection risk; the same developer left the other three sinks unprotected.

AVideo additionally caches the YouTube response for cacheTimeout seconds (default 3600), so even after the title is changed on YouTube or the video is removed, the AVideo gallery continues to serve the malicious title until the cache expires or is manually flushed.

Affected product: AVideo (WWBN), YouTubeAPI plugin Tested version: master branch, commit 122b184 (snapshot dated 2026-05-22)

PoC

The AVideo operator must have the YouTubeAPI plugin enabled (the default after configuring a YouTube Data API key) with showGallerySection=true (the default). The attacker controls a YouTube video (uploaded under any free YouTube account) whose title is set to:

alert(2222)

The attacker arranges for the AVideo operator's configured YouTube search query (the keyword plugin setting, typically a channel name or topical phrase) to match the hostile video. The matching condition is the same as a normal YouTube search: a unique phrase in the video's description, a channel name the operator follows, or any query the operator has configured.

After AVideo's cacheTimeout window elapses (default 3600 seconds) and a fresh listVideos() call fetches the malicious title, any visitor opening the AVideo homepage triggers an alert(2222) modal dialog as the gallery card renders.

For deterministic test reproduction, deploy a mock YouTube Data API service that impersonates www.googleapis.com and youtube.googleapis.com on the AVideo Docker network and returns the malicious title directly. The PoC then reduces to:

https://avideo.example/

Configure the YouTubeAPI plugin in the admin panel (/plugins) with any non-empty developer_key and any keyword value, then load the homepage. The browser fires alert(2222) as the gallery section finishes rendering.

Impact

This is a Stored XSS vulnerability (CWE-79) in a publicly-rendered HTML context, with the data source under attacker control (CWE-829). Every visitor who loads any AVideo page rendering the YouTubeAPI gallery section is impacted: the injected JavaScript runs in the visitor's session under the AVideo origin, reads non-HttpOnly cookies, and issues authenticated requests as the visitor. When the visitor is an AVideo administrator, the injected JavaScript performs any admin action (create user, promote to admin, change configuration, install plugin) that uses cookie-based authentication without an additional CSRF token, escalating the bug into full administrative takeover. The payload persists for the duration of cacheTimeout (default 3600 seconds) after the malicious title is set on YouTube and survives YouTube removing the hostile video for the same window.

CVSS v3
4.7
EG Score
4.7(low)
EPSS
9.4%
KEV
Not listed

Published

June 4, 2026

Last Modified

June 4, 2026

Vendor Advisories for CVE-2026-50183(1)

These vendors published their own advisory mentioning this CVE — often with vendor-specific remediation steps + affected product lists not in NVD.

Patch Availability(1)

Vendor / EcosystemFixed in / PatchReleasedSource
composerWWBN/AVideoghsa

Patches are aggregated from vendor advisories (Red Hat, Microsoft, Cisco, GitHub) and package ecosystems (OSV, GHSA). Multiple rows for the same upstream release have been deduplicated.

Affected Packages

(1 across 1 ecosystem)
Packagist(1)
PackageVulnerable rangeFixed inDependents
WWBN/AVideo

Weakness Classification(1)

MITRE Common Weakness Enumeration — the root-cause categories this CVE belongs to.

Data Freshness Timeline

(refreshed 6× in last 7d / 47× in last 30d)

Each row is a source pipeline that fetched or updated this CVE on that date, with what changed. For example, "NVD update" means NVD published or revised its analysis for this CVE; "MITRE cvelistV5" means we ingested or refreshed it from the CNA feed. Most recent first.

  1. 2026-07-08 09:35 UTCEG score recompute
  2. 2026-07-08 09:34 UTCGHSA enrichment
  3. 2026-07-06 02:50 UTCEG score recompute
  4. 2026-07-06 02:49 UTCGHSA enrichment
  5. 2026-07-03 00:25 UTCEG score recompute
  6. 2026-07-03 00:25 UTCGHSA enrichment
  7. 2026-07-01 23:13 UTCEG score recompute
  8. 2026-07-01 23:13 UTCGHSA enrichment
  9. 2026-06-30 20:56 UTCEG score recompute
  10. 2026-06-30 20:56 UTCGHSA enrichment
  11. 2026-06-29 19:24 UTCEG score recompute
  12. 2026-06-29 19:24 UTCGHSA enrichment
  13. 2026-06-28 17:20 UTCEG score recompute
  14. 2026-06-28 17:20 UTCGHSA enrichment
  15. 2026-06-27 16:10 UTCEG score recompute
  16. 2026-06-27 16:10 UTCGHSA enrichment
  17. 2026-06-26 14:55 UTCEG score recompute
  18. 2026-06-26 14:55 UTCGHSA enrichment
  19. 2026-06-25 10:26 UTCEG score recompute
  20. 2026-06-25 10:26 UTCGHSA enrichment
  21. 2026-06-24 09:00 UTCEG score recompute
  22. 2026-06-24 08:59 UTCGHSA enrichment
  23. 2026-06-23 01:55 UTCEG score recompute
  24. 2026-06-23 01:55 UTCGHSA enrichment
  25. 2026-06-19 19:49 UTCEG score recompute
Show 32 more
  1. 2026-06-19 19:48 UTCGHSA enrichment
  2. 2026-06-18 10:22 UTCEG score recompute
  3. 2026-06-18 10:22 UTCGHSA enrichment
  4. 2026-06-17 09:12 UTCEG score recompute
  5. 2026-06-17 09:12 UTCGHSA enrichment
  6. 2026-06-16 07:59 UTCEG score recompute
  7. 2026-06-16 07:59 UTCGHSA enrichment
  8. 2026-06-15 06:50 UTCEG score recompute
  9. 2026-06-15 06:50 UTCGHSA enrichment
  10. 2026-06-14 23:18 UTCEPSS rescore
  11. 2026-06-14 05:39 UTCEG score recompute
  12. 2026-06-14 05:38 UTCGHSA enrichment
  13. 2026-06-13 23:00 UTCEPSS rescore
  14. 2026-06-13 04:28 UTCEG score recompute
  15. 2026-06-13 04:28 UTCGHSA enrichment
  16. 2026-06-12 23:12 UTCEPSS rescore
  17. 2026-06-12 03:18 UTCEG score recompute
  18. 2026-06-12 03:18 UTCGHSA enrichment
  19. 2026-06-11 02:08 UTCEG score recompute
  20. 2026-06-11 02:08 UTCGHSA enrichment
  21. 2026-06-10 00:59 UTCEG score recompute
  22. 2026-06-10 00:59 UTCGHSA enrichment
  23. 2026-06-08 23:49 UTCEG score recompute
  24. 2026-06-08 23:49 UTCGHSA enrichment
  25. 2026-06-07 22:39 UTCEG score recompute
  26. 2026-06-07 22:39 UTCGHSA enrichment
  27. 2026-06-06 21:30 UTCEG score recompute
  28. 2026-06-06 21:30 UTCGHSA enrichment
  29. 2026-06-05 20:20 UTCEG score recompute
  30. 2026-06-05 20:20 UTCGHSA enrichment
  31. 2026-06-04 19:10 UTCEG score recompute
  32. 2026-06-04 19:10 UTCGHSA enrichment

Frequently asked(5)

What is CVE-2026-50183?
CVE-2026-50183 is a medium vulnerability published on June 4, 2026. WWBN AVideo: Stored XSS via Hostile YouTube Video Title in AVideo YouTubeAPI Gallery Section Stored XSS via Hostile YouTube Video Title in AVideo YouTubeAPI Gallery Section Summary A stored Cross-Site Scripting vulnerability (CWE-79; chained CWE-829, Inclusion of Functionality from Untrusted…
When was CVE-2026-50183 disclosed?
CVE-2026-50183 was first published in the National Vulnerability Database on June 4, 2026. EchelonGraph re-ingests CVE updates from NVD on a 2-hour cycle, so this page reflects the latest published state.
Is CVE-2026-50183 actively exploited?
CVE-2026-50183 is not currently on CISA's Known Exploited Vulnerabilities catalog. FIRST EPSS estimates a 9.4% percentile likelihood of exploitation in the next 30 days — higher percentiles indicate greater predicted risk.
What is the CVSS score of CVE-2026-50183?
CVE-2026-50183 has a CVSS v4.0 base score of 4.7 (CNA self-assessment; NVD's own analysis pending).
How do I remediate CVE-2026-50183?
Patch to the fixed version published by the affected vendor. Where vendor advisories exist for CVE-2026-50183, EchelonGraph cross-links them in the Vendor Advisories panel below — those typically contain the canonical remediation steps, fixed version numbers, and any vendor-specific mitigations.

Dependency Blast Radius

See which npm, PyPI, Go, and Maven packages are affected by CVE-2026-50183

Explore →

Is Your Infrastructure Affected by CVE-2026-50183?

EchelonGraph automatically scans your cloud infrastructure and maps CVE exposure using blast radius analysis.