p PatchFirst

PatchFirst · Aktuelle Sicherheitslücken

Schwachstellen im Stack PHP · Seite 45

In den letzten 30 Tagen veröffentlichte Sicherheitslücken für PHP: 216. Davon im KEV-Katalog: 2.

Sicherheitslücken filtern
PHP

Frühwarnungen

Neue Schwachstellenmeldungen aus Herstellerankündigungen und Sicherheitsnachrichten. Diese Warnungen ändern die Sicherheitsbewertung nicht.

  1. php

    Keine Korrektur veröffentlicht

    PHP: Remote-Codeausführung

    Laut OpenNet wurde in PHP eine Sicherheitslücke gefunden: Remote-Codeausführung (CVE-2026-115560). Die betroffenen Versionen sind nicht genau angegeben. Im Bericht wird keine Version mit Fehlerbehebung genannt.

    Was jetzt zu tun ist: Prüfen Sie, ob ein Update für PHP mit der Fehlerbehebung verfügbar ist, und installieren Sie es.

    CVE-2026-115560

Sicherheitslücken: 7231

  1. CVE-2026-56347

    Mittel · CVSS 5.3EPSS 0,2%Keine Korrektur veröffentlicht

    AVideo TopMenu Plugin - Stored Cross-Site Scripting via Unescaped Menu Item Fields

    AVideo TopMenu plugin through version 26.0 contains a stored cross-site scripting vulnerability in menu item rendering due to missing output encoding of icon classes, URLs, and text labels. Attackers can inject malicious JavaScript through unescaped menu item fields that execute for all site visitors, potentially stealing session cookies or performing unauthorized actions.

    Veröffentlicht Aktualisiert
  2. CVE-2026-56346

    Mittel · CVSS 6.9EPSS 0,61%Keine Korrektur veröffentlicht

    AVideo - Unauthenticated PGP Message Decryption via decryptMessage.json.php Endpoint

    AVideo through version 25.0 contains an authentication bypass vulnerability in the decryptMessage.json.php endpoint that allows unauthenticated users to decrypt PGP messages. Remote attackers can submit private keys, ciphertext, and passphrases to perform server-side decryption without credentials, exposing key material to logs and enabling resource exhaustion attacks.

    Veröffentlicht Aktualisiert
  3. CVE-2026-56345

    Kritisch · CVSS 9.2EPSS 0,45%Keine Korrektur veröffentlicht

    AVideo - Arbitrary User Session Hijacking via Meet Plugin uploadRecordedVideo Endpoint

    AVideo through 29.0 contains an authorization bypass vulnerability in the Meet plugin's uploadRecordedVideo.json.php endpoint that derives the target users_id from the uploaded filename without verification. An attacker with knowledge of the Meet shared secret can craft a malicious file upload with a filename containing an arbitrary users_id to invoke passwordless User->login() and establish an authenticated session as any user including admin. Attackers can obtain the Meet shared secret through path-traversal vulnerabilities or timing attacks against checkToken.json.php, then POST a crafted file to uploadRecordedVideo.json.php with a filenam

    Veröffentlicht Aktualisiert
  4. CVE-2026-56341

    Hoch · CVSS 8.7EPSS 0,46%Keine Korrektur veröffentlicht

    AVideo - Unauthenticated Access to Payment Log DataTables Endpoints via list.json.php

    AVideo through version 26.0 contains multiple unauthenticated list.json.php endpoints in payment plugins lacking authorization checks, exposing PayPal tokens, Authorize.Net webhooks, and Bitcoin transaction records. Unauthenticated attackers can retrieve all payment transaction data including agreement IDs, user financial records, and API responses via direct GET requests to vulnerable endpoints.

    Veröffentlicht Aktualisiert
  5. GHSA-78vr-q6cf-c7p6

    Mittel · CVSS 6.9Korrektur verfügbar

    Craft Commerce: Partial Payment Amount Without Lower Bound Validation

    ### Summary The `Order::setPaymentAmount()` method accepts any float value without enforcing a minimum positive amount. The PaymentsController casts the user-supplied 'paymentAmount' parameter directly to float with no lower-bound check. ### Details When the store has 'Allow Partial Payment on Checkout' enabled, a user can submit a payment amount of $0.00 or even a negative value, potentially marking orders as paid without a valid transaction. <img width="690" height="80" alt="image" src="https://github.com/user-attachments/assets/78b653a6-ccae-4ce4-b71b-fc38a7757d73" /> <img width="761" height="200" alt="image" src="https://github.com/

    • Auf 4.11.2 aktualisieren
    • Auf 5.6.5 aktualisieren
    Veröffentlicht Aktualisiert
  6. CVE-2026-49288

    Mittel · CVSS 4.3EPSS 0,27%Korrektur verfügbar

    Statamic CMS missing authorization on Control Panel fieldtype endpoints allows disclosure of restricted resources

    Statamic is a Laravel and Git powered content management system (CMS). Prior to 5.73.23 and 6.20.0, an authenticated Control Panel user could view metadata and content for resources they don't have permission to view, including entries, assets, users, roles, groups, and other configured resources. Depending on the resource, this could expose titles, custom field values, entry content, asset metadata, and the existence of users, roles, and groups. No data could be modified. This has been fixed in 5.73.23 and 6.20.0.

    • Auf 5.73.23 aktualisieren
    • Auf 6.20.0 aktualisieren
    Veröffentlicht Aktualisiert
  7. CVE-2026-49287

    Hoch · CVSS 7.4EPSS 0,46%Korrektur verfügbar

    Statamic CMS vulnerable to unsafe method invocation via collection sorting allows data destruction

    Statamic is a Laravel and Git powered content management system (CMS). Prior to 5.73.23 and 6.20.0, the fix for CVE-2026-41175 was incomplete. It addressed the issue in the query builder, but the same protection was not applied to in-memory collection sorting. Manipulating sort parameters could result in the loss of content and assets. This requires a front-end template that passes request input into a tag's sort parameter. It is not exploitable by default — a template would need to be explicitly set up to sort by a visitor-controlled value. This has been fixed in 5.73.23 and 6.20.0.

    • Auf 5.73.23 aktualisieren
    • Auf 6.20.0 aktualisieren
    Veröffentlicht Aktualisiert
  8. CVE-2026-49359

    Mittel · CVSS 6.5EPSS 0,42%Korrektur verfügbar

    PhpWeasyPrint vulnerable to SSRF and local file disclosure via the attachment option

    PhpWeasyPrint is a PHP library allowing PDF generation from a URL or an HTML page. Prior to version 2.6.0, `pontedilana/php-weasyprint` fetches the content of option values server-side via `file_get_contents()` when the value looks like a URL, without restricting the URL scheme. The `attachment` option of `Pdf` is the reachable sink: any value that passes `isOptionUrl()` (`filter_var(..., FILTER_VALIDATE_URL)`) is downloaded by the PHP process and embedded into the generated PDF. Because `FILTER_VALIDATE_URL` accepts `http`, `https`, `ftp`, `file` and PHP stream wrappers such as `php://`, an attacker who can influence the `attachment` value r

    • Auf 2.6.0 aktualisieren
    Veröffentlicht Aktualisiert
  9. CVE-2026-49286

    Hoch · CVSS 8.1EPSS 0,73%Korrektur verfügbar

    PhpWeasyPrint vulnerable to PHAR deserialization via output filename (CVE-2023-28115 case-insensitive bypass)

    PhpWeasyPrint is a PHP library allowing PDF generation from a URL or an HTML page. Prior to version 2.6.0, `pontedilana/php-weasyprint` guarded the output filename against the `phar://` stream wrapper with a case-sensitive blacklist. PHP stream wrappers are case-insensitive, so `PHAR://`, `Phar://`, etc. bypass the check and reach `fileExists()` (`file_exists()`) in `prepareOutput()`. On PHP 7 (which the library still supports — PHP 7.4+), this triggers deserialization of a crafted PHAR archive's metadata, leading to remote code execution. This is the patch-bypass of CVE-2023-28115. The same issue and fix were handled upstream in KnpLabs/snap

    • Auf 2.6.0 aktualisieren
    Veröffentlicht Aktualisiert
  10. CVE-2026-49260

    Hoch · CVSS 8.2EPSS 0,21%Korrektur verfügbar

    PhpWeasyPrint: shell command injection via configurable WeasyPrint binary path due to inverted is_executable() guard (mirror of KnpLabs/snappy GHSA-vpr4-p6fq-85jc)

    PhpWeasyPrint is a PHP library allowing PDF generation from a URL or an HTML page. Prior to version 2.5.1, `pontedilana/php-weasyprint` builds the shell command for WeasyPrint by passing the binary path through `escapeshellarg()` first and then checking the *quoted* result with `is_executable()`. On POSIX `escapeshellarg('/usr/local/bin/weasyprint')` returns `'/usr/local/bin/weasyprint'` with the single-quote characters as part of the string, so `is_executable()` looks for a file whose actual name includes those quotes. That file never exists, the "safe" branch is dead code, and the raw `$binary` string (set via the constructor or `setBinary(

    • Auf 2.5.1 aktualisieren
    Veröffentlicht Aktualisiert
  11. CVE-2026-49358

    Niedrig · CVSS 3EPSS 0,17%Korrektur verfügbar

    PhpWeasyPrint vulnerable to arbitrary file deletion at shutdown via public $temporaryFiles

    PhpWeasyPrint is a PHP library allowing PDF generation from a URL or an HTML page. Prior to version 2.6.0, `AbstractGenerator::$temporaryFiles` is a public array, and `removeTemporaryFiles()` — invoked from `__destruct()` and from a registered shutdown function — calls `unlink()` on every entry without verifying that the path is contained within the temporary folder. Any code holding a reference to a generator instance can push an arbitrary path into the array and have it deleted on script shutdown. This mirrors the KnpLabs/snappy issue GHSA-87qc-37cw-84h4. PhpWeasyPrint version 2.6.0 contains a patch for the issue.

    • Auf 2.6.0 aktualisieren
    Veröffentlicht Aktualisiert
  12. CVE-2026-49205

    Mittel · CVSS 6.5EPSS 0,39%Korrektur verfügbar

    phpMyFAQ: Missing userHasPermission() in 4 API write endpoints (CVE-2026-24421 Incomplete Fix)

    phpMyFAQ is an open source FAQ web application. Versions prior to 4.1.4 have Missing Authorization in the API CategoryController. CVE-2026-24421 addressed this in the BackupController by adding: $this->userHasPermission(PermissionType::BACKUP). The same fix was not applied to 4 other write endpoints in the public API. All 4 only call $this->hasValidToken() — which checks a shared API key header, rather than the individual user's role permissions. The following APIs are affected: POST /api/v4.0/category (CategoryController::create), POST /api/v4.0/faq (FaqController::create), PUT /api/v4.0/faq (FaqController::update), and POST /api/v4.0/quest

    • Auf 4.1.4 aktualisieren
    Veröffentlicht Aktualisiert
  13. GHSA-5739-39v2-5754

    Mittel · CVSS 6.3Korrektur verfügbar

    PHP JWT Library: RSA1_5 (RSAES-PKCS1-v1_5) decryption lacks implicit rejection, exposing a Bleichenbacher/Marvin padding oracle

    ### Impact `RSACrypt::decryptWithRSA15()` (used by the `RSA1_5` key-encryption algorithm) implements RSAES-PKCS1-v1_5 decryption by inspecting the padding after RSADP and throwing `InvalidArgumentException` as soon as the padding is malformed. It does **not** implement the implicit-rejection countermeasure required by RFC 3447 §7.2.2 / RFC 8017 §7.1.2 (return a deterministic pseudo-random value of the expected length on padding failure and let the downstream step fail uniformly). From a JWE caller this yields a Bleichenbacher/Marvin padding oracle: an attacker submitting adaptively crafted `encrypted_key` values can distinguish (a) padding

    • Auf 3.4.10 aktualisieren
    • Auf 4.0.7 aktualisieren
    • Auf 4.1.7 aktualisieren
    Veröffentlicht Aktualisiert
  14. GHSA-jc38-x7x8-2xc8

    Kritisch · CVSS 9.1Korrektur verfügbar

    PHP JWT Framework: JWSVerifier uses algorithm from unprotected header, enabling algorithm confusion attacks

    ## Summary `JWSVerifier::getAlgorithm()` in `src/Library/Signature/JWSVerifier.php` (line 144) merges protected and unprotected headers using PHP's spread operator: ```php $completeHeader = [...$signature->getProtectedHeader(), ...$signature->getHeader()]; ``` In PHP, when spreading arrays with duplicate string keys, the **last array's values take precedence**. Since the unprotected header (`getHeader()`) is spread second, an attacker can override the integrity-protected `alg` parameter by placing a different value in the unprotected header. This creates a Time-of-Check/Time-of-Use (TOCTOU) vulnerability: 1. `HeaderCheckerManager` validat

    • Auf 3.4.10 aktualisieren
    • Auf 4.0.7 aktualisieren
    • Auf 4.1.7 aktualisieren
    Veröffentlicht Aktualisiert
  15. GHSA-3prj-6hqw-cm82

    Hoch · CVSS 8.7Korrektur verfügbar

    PHP JWT Library: PBES2-HS*+A*KW unwrap accepts an unbounded p2c iteration count, enabling CPU-amplification denial of service

    ### Impact When a JWE uses a password-based key-encryption algorithm (`PBES2-HS256+A128KW`, `PBES2-HS384+A192KW`, `PBES2-HS512+A256KW`), `PBES2AESKW::unwrapKey()` reads the `p2c` (PBKDF2 iteration count) parameter directly from the attacker-controlled JOSE header and passes it to `hash_pbkdf2()` with **no upper bound**. The only validation performed (`checkHeaderAdditionalParameters()`) was `is_int($p2c) && $p2c > 0`. An unauthenticated attacker can craft a single JWE whose protected header sets a very large `p2c` (e.g. `100_000_000` ≈ 87 s of CPU, or `PHP_INT_MAX`), forcing a worker to spend an arbitrary amount of CPU inside PBKDF2 **befor

    • Auf 3.4.10 aktualisieren
    • Auf 4.0.7 aktualisieren
    • Auf 4.1.7 aktualisieren
    Veröffentlicht Aktualisiert
  16. GHSA-6vvh-pxr4-25r7

    Mittel · CVSS 6Korrektur verfügbar

    PHP JWT Framework: Chacha20Poly1305 key-encryption algorithm discards the Poly1305 authentication tag, performing no authentication on decryption

    ### Impact The experimental `Chacha20Poly1305` key-encryption algorithm generates the 16-byte Poly1305 authentication tag during `encryptKey()` but **discards it**: the tag is never written to the header and therefore never reaches the wire. On the receiving side, `decryptKey()` calls `openssl_decrypt('chacha20-poly1305', ...)` **without the tag argument**, which makes OpenSSL skip authentication entirely. As a result the AEAD construction is silently degraded to unauthenticated ChaCha20: a tampered encrypted CEK is accepted, and because ChaCha20 is a stream cipher, a single-byte change in the ciphertext propagates as a single-byte change i

    • Auf 3.4.10 aktualisieren
    • Auf 4.0.7 aktualisieren
    • Auf 4.1.7 aktualisieren
    Veröffentlicht Aktualisiert
  17. GHSA-2jx3-65f3-xr8r

    Mittel · CVSS 6.9Korrektur verfügbar

    spomky-labs/otphp: Mass-assignment in Factory::loadFromProvisioningUri lets a hostile provisioning URI corrupt OTP state or leak an uncaught TypeError

    ## Summary `OTPHP\Factory::loadFromProvisioningUri()` parses an attacker-supplied `otpauth://` URI and forwards **every** query key to `OTP::setParameter($key, $value)`. `setParameter()` resolves the name with `property_exists($this, $parameter)` and performs a dynamic write `$this->{$parameter} = $value` (`src/OTP.php:196-197`). Because the query keys are entirely controlled by whoever produced the URI, a URI can target the internal properties of the OTP object that are not meant to be set from a URI: `parameters`, `issuer`, `label`, `issuer_included_as_parameter`, and (on TOTP) the readonly `clock`. This is an instance of object property m

    • Auf 11.4.3 aktualisieren
    Veröffentlicht Aktualisiert
  18. GHSA-g7m4-839x-ch6v

    Hoch · CVSS 8.7Korrektur verfügbar

    spomky-labs/otphp: Unbounded digits parameter in a provisioning URI triggers an uncaught DivisionByZeroError in OTP generation

    ## Summary The `digits` parameter parsed from a provisioning URI is validated only with a lower bound (`$value > 0`) and has no upper bound (`src/OTP.php:353-357`). OTP generation computes `$code % (10 ** $this->getDigits())` (`src/OTP.php:283`). When `digits` is large enough that `10 ** digits` overflows PHP's integer range and the `(int)` cast yields `0` (around `digits >= 40` on 64-bit PHP 8.x), the modulo operand becomes `0` and PHP raises a `DivisionByZeroError`. ## Impact `OTPHP\Factory::loadFromProvisioningUri()` forwards the attacker-controlled `digits` query value to `setParameter('digits', $value)`, so a hostile URI such as `otpa

    • Auf 11.4.3 aktualisieren
    Veröffentlicht Aktualisiert
  19. CVE-2026-55746

    Hoch · CVSS 7EPSS 0,17%Keine Korrektur veröffentlicht

    Cotonti stored XSS via PFS folder title

    Cotonti 1.0.0 (master branch, commit f43f1fc3) is vulnerable to stored Cross-Site Scripting in the Personal File Storage (PFS) module. A folder title (pff_title) is imported with the 'TXT' filter, which does not strip or encode HTML (the tag check in cot_import is disabled), so an authenticated user can store HTML/JavaScript in a folder title.

    Veröffentlicht Aktualisiert
  20. CVE-2026-55745

    Mittel · CVSS 5.3EPSS 0,1%Keine Korrektur veröffentlicht

    Cotonti CSRF in PFS folder edit allows unauthorized folder modification

    Cotonti 1.0.0 (master branch, commit f43f1fc3) is vulnerable to Cross-Site Request Forgery in the Personal File Storage (PFS) module. In modules/pfs/inc/pfs.editfolder.php, the folder update action ('a=update') updates folder metadata (title, description, public/gallery flags) without calling cot_check_xg to validate the anti-CSRF token.

    Veröffentlicht Aktualisiert

Prüfen Sie Ihren Server

Gleichen Sie Ihren installierten Stack und seine Versionen mit den aktuellen Sicherheitsmeldungen ab.

Prüfen Sie Ihren Server →