Skip to main content

PHP CVE-2026-35448

LOW
Missing Authorization (CWE-862)
2026-04-04 https://github.com/WWBN/AVideo GHSA-3v7m-qg4x-58h9
3.7
CVSS 3.1 · GitHub Advisory

Severity by source

GitHub Advisory PRIMARY
3.7 LOW
AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N

Primary rating from GitHub Advisory · only source for this CVE.

CVSS VectorGitHub Advisory

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:N
Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

2
Analysis Generated
Apr 04, 2026 - 06:30 vuln.today
CVE Published
Apr 04, 2026 - 06:15 nvd
LOW 3.7

DescriptionGitHub Advisory

Summary

The BlockonomicsYPT plugin's check.php endpoint returns payment order data for any Bitcoin address without requiring authentication. The endpoint was designed as an AJAX polling helper for the authenticated invoice.php page, but it performs no access control checks of its own. Since Bitcoin addresses are publicly visible on the blockchain, an attacker can query payment records for any address used on the platform.

Details

In plugin/BlockonomicsYPT/check.php at lines 20-30, the endpoint accepts a Bitcoin address and returns the corresponding order data:

php
$addr = $_GET['addr'];
$order = new BlockonomicsOrder(0);
$obj = $order->getFromAddressFromDb($addr);
die(json_encode($obj));

There is no authentication check. The endpoint does not verify that the requesting user is logged in, nor does it verify that the requesting user owns the order associated with the given address.

The response includes:

  • User ID of the buyer
  • Total payment value
  • Currency
  • BTC amounts (expected and received)
  • Transaction ID
  • Payment status

The invoice.php page that was designed to consume this endpoint does require authentication, but check.php itself does not inherit or enforce that requirement.

Bitcoin addresses are publicly queryable on the blockchain, so an attacker does not need to guess them. Addresses associated with the platform can be discovered by monitoring blockchain transactions to known platform wallets.

The BlockonomicsYPT plugin is tagged as deprecated by the AVideo project, but remains available and functional in current installations.

Proof of Concept

bash
# Query payment data for a known Bitcoin address without authentication
curl "https://your-avideo-instance.com/plugin/BlockonomicsYPT/check.php?addr=1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa"

Example response:

json
{
  "id": 42,
  "users_id": 15,
  "value": "29.99",
  "currency": "USD",
  "btc_value": "0.00085",
  "btc_received": "0.00085",
  "txid": "abc123def456...",
  "status": "confirmed",
  "created": "2025-01-15 10:30:00"
}

No session cookie or API key is required.

Impact

  • Unauthenticated disclosure of payment order data including user IDs, amounts, and transaction details
  • Bitcoin addresses are publicly discoverable on the blockchain
  • Links on-chain transactions to specific platform user IDs
  • Privacy violation for users who made cryptocurrency payments on the platform
  • Plugin is deprecated but still functional in existing deployments

Recommended Fix

Add an authentication check at plugin/BlockonomicsYPT/check.php:17:

php
if (!User::isLogged()) {
    echo json_encode(["error" => "Login required"]);
    exit;
}

--- *Found by aisafe.io*

AnalysisAI

Unauthenticated access to payment order data in the BlockonomicsYPT plugin for AVideo allows remote attackers to retrieve sensitive payment information including user IDs, transaction amounts, and Bitcoin transaction details for any address without authentication. The vulnerable check.php endpoint returns complete order records queryable by Bitcoin address alone, enabling attackers to link on-chain transactions to specific platform user accounts and violate user privacy. No exploit complexity is required beyond discovering Bitcoin addresses on the public blockchain.

Technical ContextAI

The BlockonomicsYPT plugin is a cryptocurrency payment integration module for the AVideo platform (wwbn_avideo composer package) that uses Bitcoin addresses as payment identifiers. The vulnerability exists in the check.php AJAX endpoint, which was designed as an unauthenticated polling helper for the authenticated invoice.php page but performs no access control validation of its own. The endpoint accepts a Bitcoin address via GET parameter, queries the BlockonomicsOrder database object using getFromAddressFromDb(), and returns the complete order record as JSON. The root cause is CWE-862 (Missing Authorization), where a resource endpoint fails to verify user identity or ownership before disclosing sensitive data. Bitcoin addresses themselves are not secret-they are publicly visible and queryable on the blockchain-making the lack of authorization particularly severe. The plugin is officially deprecated by the AVideo project but remains functional in existing installations.

RemediationAI

Add authentication validation to plugin/BlockonomicsYPT/check.php before processing the address query, using the User::isLogged() check as specified in the vulnerability description. The recommended fix (if (!User::isLogged()) exit;) should be inserted at line 17 of check.php to enforce that only authenticated users can access the endpoint. For immediate mitigation, administrators should disable or remove the BlockonomicsYPT plugin from active AVideo installations if cryptocurrency payment functionality is no longer required, or restrict access to check.php via web server configuration (e.g., Apache .htaccess or Nginx rules limiting access by IP). Consult the AVideo project's official security advisory at https://github.com/WWBN/AVideo/security/advisories/GHSA-3v7m-qg4x-58h9 for guidance on patched versions or alternative payment plugins.

More in PHP

View all
CVE-2012-1823 CRITICAL POC
9.8 May 11

sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not

CVE-2016-1555 CRITICAL POC
9.8 Apr 21

(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear

CVE-2024-11680 CRITICAL POC
9.8 Nov 26

ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C

CVE-2025-49113 CRITICAL POC
9.9 Jun 02

Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au

CVE-2017-9841 CRITICAL POC
9.8 Jun 27

Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c

CVE-2025-0108 HIGH POC
8.8 Feb 12

Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers

CVE-2021-25298 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2021-25296 HIGH POC
8.8 Feb 15

Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re

CVE-2013-4983 CRITICAL POC
10.0 Sep 10

The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows

CVE-2023-6553 CRITICAL POC
9.8 Dec 15

The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1

CVE-2024-46506 CRITICAL POC
10.0 May 13

NetAlertX (formerly PiAlert) versions 23.01.14 through 24.x before 24.10.12 allow unauthenticated command injection thro

CVE-2024-8353 CRITICAL POC
9.8 Sep 28

The GiveWP - Donation Plugin and Fundraising Platform plugin for WordPress is vulnerable to PHP Object Injection in all

Share

CVE-2026-35448 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy