Skip to content
Heist/ feed
Back to feed
Critical

WWBN AVideo Stored XSS via Category Name and Icon Class

Type: advisorySources: OSV

WWBN AVideo, in versions up to and including commit c3edcc274c389816d434acadac07ee78eaf330c1, contains a stored cross-site scripting vulnerability. objects/categoryAddNew.json.php passes the POST parameters `name` and `iconClass` to Category::setName() and Category::setIconClass(), which store the values without sanitization (setName only truncates to 45 characters). The category name is later echoed as HTML text and iconClass is echoed into a class attribute in view/modeYoutubeBottom.php and in Gallery cards (plugin/Gallery/functions.php). When the CustomizeUser option usersCanCreateNewCategories is enabled, any authenticated user with canUpload permission (granted by default via self-registration) can create a category containing a JavaScript payload; the payload then executes in the browser of any visitor, including administrators, who views a watch page or gallery entry for a video assigned to that category, allowing actions such as authenticated requests with the victim's session. The issue was unpatched at the time of reporting.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-88867
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 11:01 UTC · Revision 1

Source evidence

WWBN AVideo Stored XSS via Category Name and Icon Class

core-osv · Original source

Published 10 Sept 2026, 13:05 UTC

WWBN AVideo, in versions up to and including commit c3edcc274c389816d434acadac07ee78eaf330c1, contains a stored cross-site scripting vulnerability. objects/categoryAddNew.json.php passes the POST parameters `name` and `iconClass` to Category::setName() and Category::setIconClass(), which store the values without sanitization (setName only truncates to 45 characters). The category name is later echoed as HTML text and iconClass is echoed into a class attribute in view/modeYoutubeBottom.php and in Gallery cards (plugin/Gallery/functions.php). When the CustomizeUser option usersCanCreateNewCategories is enabled, any authenticated user with canUpload permission (granted by default via self-registration) can create a category containing a JavaScript payload; the payload then executes in the browser of any visitor, including administrators, who views a watch page or gallery entry for a video assigned to that category, allowing actions such as authenticated requests with the victim's session. The issue was unpatched at the time of reporting.

osv:CVE-2026-88867
Complete source record
{
  "id": "364336e84a64209bbc7bb6e9d4b0b9861e57506b6cc12e01cc8004898864521d",
  "url": "https://osv.dev/vulnerability/CVE-2026-88867",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "WWBN AVideo Stored XSS via Category Name and Icon Class",
    "summary": "WWBN AVideo, in versions up to and including commit c3edcc274c389816d434acadac07ee78eaf330c1, contains a stored cross-site scripting vulnerability. objects/categoryAddNew.json.php passes the POST parameters `name` and `iconClass` to Category::setName() and Category::setIconClass(), which store the values without sanitization (setName only truncates to 45 characters). The category name is later echoed as HTML text and iconClass is echoed into a class attribute in view/modeYoutubeBottom.php and in Gallery cards (plugin/Gallery/functions.php). When the CustomizeUser option usersCanCreateNewCategories is enabled, any authenticated user with canUpload permission (granted by default via self-registration) can create a category containing a JavaScript payload; the payload then executes in the browser of any visitor, including administrators, who views a watch page or gallery entry for a video assigned to that category, allowing actions such as authenticated requests with the victim's session. The issue was unpatched at the time of reporting.",
    "evidence": "osv:CVE-2026-88867",
    "products": [],
    "severity": "critical",
    "structured": {
      "id": "CVE-2026-88867",
      "aliases": [
        "CVE-2026-88867",
        "GHSA-283q-fq8j-mhv8"
      ],
      "metrics": [
        {
          "type": "CVSS_V4",
          "score": "CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:H/SI:H/SA:N"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/wwbn/avideo",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "last_affected": "c3edcc274c389816d434acadac07ee78eaf330c1"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "last_affected": "c3edcc274c389816d434acadac07ee78eaf330c1"
                      }
                    ],
                    "source": "AFFECTED_FIELD",
                    "strategy": "StandardRange"
                  }
                ]
              }
            }
          ],
          "versions": [
            "29.0",
            "26.0",
            "25.0",
            "24.0",
            "22.0",
            "21.0",
            "18.0",
            "14.3.1",
            "14.3",
            "12.4",
            "11.6",
            "11.5",
            "11.1.1",
            "11.1",
            "11",
            "10.8",
            "8.9.1",
            "8.9",
            "8.7",
            "8.6",
            "8.5",
            "8.1",
            "7.8",
            "7.7",
            "7.6",
            "7.4",
            "7.3",
            "7.2",
            "4.0",
            "3.4",
            "2.7",
            "2.2"
          ],
          "database_specific": {
            "source": "https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-88867.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:28.017825725Z",
      "provider": "osv",
      "references": [
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88867.json",
        "https://github.com/WWBN/AVideo/security/advisories/GHSA-283q-fq8j-mhv8",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-88867",
        "https://www.vulncheck.com/advisories/wwbn-avideo-stored-xss-via-category-name-and-icon-class"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-79"
        ],
        "cna_assigner": "VulnCheck",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/88xxx/CVE-2026-88867.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-88867",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 494816,
  "published_at": "2026-09-10T13:05:22.561+00:00"
}