p PatchFirst

PatchFirst · Latest vulnerabilities

PHP stack vulnerabilities · Page 37

Vulnerabilities published for PHP in the last 30 days: 216. Listed in the KEV catalogue: 2.

Filter vulnerabilities
PHP

Early warnings

Fresh vulnerability reports from vendor announcements and security news. These warnings do not change the security rating.

  1. php

    No fix published

    PHP: remote code execution

    According to OpenNet, PHP has a remote code execution vulnerability (CVE-2026-115560). The exact affected versions are unspecified. The report does not name a fixed version.

    What to do now: Check whether a PHP update with the fix is available and install it.

    CVE-2026-115560

Vulnerabilities: 7231

  1. CVE-2026-52840

    Low · CVSS 2.7EPSS 0.23%No fix published

    Easy!Appointments has server-side request forgery in CalDAV connection test that exposes the deployment's internal network

    Easy!Appointments is a self hosted appointment scheduler. In versions prior to 1.6.0, `Caldav::connect_to_server` at `application/controllers/Caldav.php:60` hands the request's `caldav_url` to a Guzzle `REPORT` call without scheme or host validation. A logged-in backend user (admin, provider, or secretary) reaches loopback, RFC1918, and link-local hosts on the deployment's network. The Guzzle exception path returns the upstream status code plus ~120 bytes of response body in the JSON `message` field (`Caldav.php:74-78`), so the SSRF is semi-blind. Version 1.6.0 contains a patch.

    Published Updated
  2. CVE-2026-52839

    Low · CVSS 3.3EPSS 0.18%Fix available

    Easy!Appointments appointments/store and appointments/update allow cross-provider appointment injection — Authorization Bypass

    Easy!Appointments is a self hosted appointment scheduler. Versions prior to 1.6.0 correctly filter provider-scoped appointments in the `appointments/search` response, proving that provider isolation is an intended security boundary. However, the direct mutation endpoints `appointments/store` and `appointments/update` only check generic appointment privileges and never verify that the submitted `id_users_provider` belongs to the current session. A normal authenticated provider can inject new appointments into another provider's schedule via `store`, or reassign existing appointments into a foreign provider's calendar via `update`. The `store`

    • Update to 1.6.0
    Published Updated
  3. CVE-2026-52838

    Low · CVSS 2.6EPSS 0.22%No fix published

    Easy!Appointments disable_booking_message rendered as raw HTML on public booking page — Stored XSS

    Easy!Appointments is a self hosted appointment scheduler. Versions prior to 1.6.0 allow administrators to define a custom "booking disabled" message through the booking settings page. That value is stored in the `disable_booking_message` setting via a rich-text editor and later passed directly to the public `booking_message` view without escaping or sanitization. An authenticated administrator can store HTML or JavaScript in this field, enable disabled-booking mode, and trigger stored XSS in every unauthenticated visitor who opens the public booking page. Version 1.6.0 fixes the issue.

    Published Updated
  4. CVE-2026-52837

    Medium · CVSS 6.9EPSS 0.46%No fix published

    Easy!Appointments has unauthenticated customer PII disclosure on booking reschedule page

    Easy!Appointments is a self hosted appointment scheduler. In versions up to and including 1.5.2, the booking reschedule view at `/index.php/booking/reschedule/{appointment_hash}` (handled by `Booking::index()`) embeds the entire customer record as inline JavaScript (`const vars = {... "customer_data": {...}, ...}`) without authentication and without field whitelisting. Anyone in possession of the 12-character `appointment_hash` — which appears in plain text in reschedule emails, confirmation page URLs, and operator-side calendar links — can read every column of that customer's row in the `ea_users` table. Version 1.6.0 contains a patch.

    Published Updated
  5. CVE-2026-15305

    Medium · CVSS 6.3EPSS 0.25%Fix available

    TYPO3 CMS - Unrestricted File Upload in Form Framework

    Users were able to upload files with arbitrary MIME types to forms using FileUpload or ImageUpload elements with allowedMimeTypes configured. The restriction was not enforced server-side because the MimeTypeValidator was registered during form building before concrete form definition properties were applied, resulting in the validator never being added to the processing pipeline. This issue affects TYPO3 CMS versions 14.2.0-14.3.4.

    • Update to 14.3.5
    Published Updated
  6. CVE-2026-47677

    Critical · CVSS 9.3Fix available

    FacturaScripts: Account takeover of any 2FA-enabled user

    # Authentication bypass in FacturaScripts: `/login?action=two-factor-validation` accepts brute-forceable TOTP without password or CSRF protection ## Summary `Core/Controller/Login.php::twoFactorValidationAction()` accepts an unauthenticated POST containing only `fsNick` and `fsTwoFactorCode`. If the TOTP value matches, the server issues a full `fsNick` + `fsLogkey` session cookie pair. The handler: 1. **Does not verify the password** — the user is not required to have just completed `loginAction`. 2. **Does not call `validateFormToken()`** — no CSRF token is required (every other action handler in the same file does call it). 3. **Do

    • Update to 2026.3
    Published Updated
  7. CVE-2026-49970

    High · CVSS 8.7EPSS 1.03%Fix available

    Laravel-Mediable < 7.0.0 Path Traversal via File::sanitizePath()

    Laravel-Mediable before 7.0.0 contains a path traversal vulnerability in the File::sanitizePath() function that allows attackers to write uploaded files to arbitrary locations by controlling the directory argument passed to MediaUploader::toDestination(). Attackers can exploit the permissive character-class regex that allows both dot and slash characters combined with an ineffective trailing trim() call to bypass sanitization and upload files to sensitive locations such as the document root, environment configuration files, or application configuration directories, enabling remote code execution.

    • Update to 7.0.0
    Published Updated
  8. CVE-2026-55372

    High · CVSS 7.2Fix available

    NukeViet: Pre-authentication SSRF via X-Forwarded-Host

    ## Summary An unauthenticated attacker can coerce the server into issuing HTTP requests to an attacker-chosen host by spoofing the `X Forwarded-Host` (and `X-Forwarded-Proto`) request headers. The forwarded host is used, without validation, to build the URL that `server_info_update()` fetches with cURL, resulting in a Server-Side Request Forgery (SSRF) that requires no authentication. ## Affected component - File: `includes/ini.php` — function `server_info_update()` (cURL sink) - File: `vendor/vinades/nukeviet/Core/Server.php` — `standardizeHost()` and the forwarded-header handling in the constructor (source of the tainted host) - Trigger:

    • Update to 4.6.00
    Published Updated
  9. CVE-2026-54065

    High · CVSS 8.7Fix available

    NukeViet: Path Traversal to Arbitrary File Deletion in Edit Comment Function

    ## Summary Path Traversal to Arbitrary File Deletion in the Edit Comment admin function. An authenticated administrator can delete arbitrary files within the application root (e.g., `config.php`) by injecting a crafted `attach` parameter, rendering the application inoperable. ## Affected Component `modules/comment/admin/edit.php` ## Root Cause In the vulnerable version, the `attach` parameter received via HTTP POST was not validated before being processed: ```php // Vulnerable code (before fix) $attach = $nv_Request->get_string('attach', 'post', '', true); if (!empty($attach)) { $attach = substr($attach, strlen(NV_BASE_SITEURL . NV_

    • Update to 4.6.00
    Published Updated
  10. CVE-2026-54064

    High · CVSS 8.7Fix available

    NukeViet: Multiple Anti-XSS Filter Bypasses Leading to Stored XSS in News Module

    ## Summary Two filter-bypass techniques in `NukeViet\Core\Request::filterAttr()` and `NukeViet\Core\Request::unhtmlentities()` allow a low-privileged user (any account with news post permission) to store and serve arbitrary JavaScript to any visitor of the affected page. ## Affected Component `vendor/vinades/nukeviet/Core/Request.php` — class `NukeViet\Core\Request` ## Vulnerability Details ### Bypass 1 — Form Feed character prefix (`\x0C`) before event handler name The `filterAttr()` method blocks event-handler attributes using: ```php preg_match('/^on/i', $attrSubSet[0]) ``` PHP's `trim()` does **not** strip the ASCII Form Feed charac

    • Update to 4.6.00
    Published Updated
  11. CVE-2026-49259

    High · CVSS 8.7Fix available

    NukeViet: Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')

    ## Summary A stored cross-site scripting (XSS) vulnerability exists in NukeViet CMS versions 4.x through 4.5.08. A low-privileged authenticated user can store a JavaScript payload in their profile's display name fields. The payload executes in the browser of any visitor — including administrators — who clicks the **Reply** ("Answer") link on a comment posted by that user. ## Affected Component The `{COMMENT.post_name}` template variable is interpolated without JavaScript-context escaping into an inline `onclick` handler in both comment block positions: - `themes/default/modules/comment/comment.tpl` line 27 (top-level comments) - `themes/d

    • Update to 4.6.00
    Published Updated
  12. CVE-2026-48118

    High · CVSS 8.2Fix available

    NukeViet: Unauthenticated Reflected XSS in Comment Module

    ## Summary Reflected XSS in the Comment module via the `status_comment` URL parameter. The parameter accepts attacker-controlled base64-encoded HTML/JavaScript that is decoded server-side and rendered unescaped into the page. Compounded by a second flaw: the `checkss` anti-forgery token was derived from a site-wide static value (`NV_CACHE_PREFIX`) instead of a per-session value, making the token reusable across all users and allowing the attack to be delivered via a simple crafted URL. ## Details ### Vulnerability 1 — Reflected XSS via `status_comment` **Affected components:** - `modules/comment/funcs/main.php` — parameter ingestion - `mo

    • Update to 4.6.00
    Published Updated
  13. CVE-2026-55808

    Medium · CVSS 5.4EPSS 0.27%Fix available

    Drupal core - Moderately critical - Improper validation - SA-CORE-2026-009

    Improper Neutralization of Input During Web Page Generation ("Cross-site Scripting") vulnerability in Drupal Drupal core allows Cross-Site Scripting (XSS). This issue affects Drupal core versions: from 0.0.0 to 10.5.12, from 10.6.0 to 10.6.11, from 11.2.0 to 11.2.14, from 11.3.0 to 11.3.12, from 0.0.0 to 11.0.*, from 0.0.0 to 11.1.*.

    • Update to 10.5.12
    • Update to 10.6.11
    • Update to 11.1.0
    • Update to 11.2.0
    • Update to 11.2.14
    • Update to 11.3.12
    Published Updated
  14. CVE-2026-55807

    Low · CVSS 3.1EPSS 0.22%Fix available

    Drupal core - Moderately critical - Server-side request forgery - SA-CORE-2026-008

    Server-Side Request Forgery (SSRF) vulnerability in Drupal Drupal core allows Server Side Request Forgery. This issue affects Drupal core versions: from 0.0.0 to 10.5.12, from 10.6.0 to 10.6.11, from 11.2.0 to 11.2.14, from 11.3.0 to 11.3.12, from 0.0.0 to 11.0.*, from 0.0.0 to 11.1.*.

    • Update to 10.5.12
    • Update to 10.6.11
    • Update to 11.1.0
    • Update to 11.2.0
    • Update to 11.2.14
    • Update to 11.3.12
    Published Updated

Check your server

Check your installed stack and versions against the current vulnerability feeds.

Check your server →