p PatchFirst

PatchFirst · Latest vulnerabilities

PHP stack vulnerabilities · Page 25

Vulnerabilities published for PHP in the last 30 days: 178. 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: 7190

  1. CVE-2026-47232

    Medium · CVSS 4.3EPSS 0.13%Fix available

    Admidio PKCS#12 private key export action lacks CSRF protection

    Admidio is an open-source user management solution. Prior to version 5.0.10, the sensitive `mode=export` action in `modules/sso/keys.php` exports a PKCS#12 bundle containing the configured private key and certificate, but the CSRF validation line is commented out. A forged cross-site POST from an administrator session can therefore trigger private key export without a valid form token. Version 5.0.10 contains a fix.

    • Update to 5.0.10
    Published Updated
  2. CVE-2026-47231

    High · CVSS 8.1EPSS 0.35%Fix available

    Admidio has IDOR in `documents-files.php` `mode=move_save` that lets any folder-uploader exfiltrate files from private folders

    Admidio is an open-source user management solution. Prior to version 5.0.10, `modules/documents-files.php` gates state-changing modes by checking that the actor has `hasUploadRight()` on the URL parameter `folder_uuid`. The `move_save` handler then operates on a *separate* URL parameter `file_uuid` and calls `File::moveToFolder($destFolderUUID)`. `File::moveToFolder()` checks the upload right on the destination folder but never on the source folder containing the file. As a result, any user who can upload to any single folder can move any file from any other folder — including private folders to which they have no view rights — into a folder

    • Update to 5.0.10
    Published Updated
  3. CVE-2026-47230

    Medium · CVSS 6.5EPSS 0.3%Fix available

    Admidio: IDOR in documents-files.php allows cross-folder file rename and description changes by unauthorized uploaders

    Admidio is an open-source user management solution. Prior to version 5.0.10, `modules/documents-files.php` mode `file_rename_save` shares the same root-cause shape as the cross-folder move bug (`05-documents-cross-folder-move-idor.md`): the top-level rights check at lines 79-89 validates `hasUploadRight()` on the URL parameter `folder_uuid`, but the rename operation acts on `file_uuid` — a separate URL parameter — without re-checking the folder that actually contains the file. `DocumentsService::renameFile()` resolves the target file via `getFileForDownload()` (which permits view-readable files) but does not require upload right on the file's

    • Update to 5.0.10
    Published Updated
  4. CVE-2026-47229

    Medium · CVSS 5.4EPSS 0.14%Fix available

    Admidio: CSRF in SSO client `enable` action toggles SAML/OIDC clients without token validation

    Admidio is an open-source user management solution. Prior to version 5.0.10, `modules/sso/clients.php` validates an `adm_csrf_token` on every state-changing branch except `enable`. The `enable` case loads the SAML or OIDC client by UUID, calls `$client->enable($enabled)`, and persists the new state with no token check. Because the action is reachable via plain GET parameters, a third-party page can trick an authenticated administrator into disabling (or silently re-enabling) any configured SAML or OIDC client. Disabling an SSO client breaks every downstream relying-party application that authenticates through it. Version 5.0.10 contains a fix

    • Update to 5.0.10
    Published Updated
  5. CVE-2026-47228

    Medium · CVSS 5.2EPSS 0.16%Fix available

    Admidio's CSRF in registration `send_login` mode resets arbitrary user passwords

    Admidio is an open-source user management solution. `modules/registration.php` mode `send_login` regenerates a random password for `user_uuid_assigned`, stores its bcrypt hash in `adm_users.usr_password`, and emails the cleartext to that user. Every other state-changing mode in the same file (`assign_member`, `assign_user`, `delete_user`, `create_user`) calls `SecurityUtils::validateCsrfToken($_POST['adm_csrf_token'])` first; the `send_login` branch does not. Prior to version 5.0.10, page visited by a registration-administrator can issue the request as a top-level navigation, the browser sends the admin's `SameSite=Lax` cookies, and the serve

    • Update to 5.0.10
    Published Updated
  6. CVE-2026-47227

    Medium · CVSS 6.5EPSS 0.33%Fix available

    Admidio module-administrator can delete or reorder categories owned by other modules via dead authorization check in `modules/categories.php`

    Admidio is an open-source user management solution. `modules/categories.php` checks that the supplied `type` parameter (`ANN`, `EVT`, `ROL`, `USF`, …) corresponds to a module the actor administers. The follow-up "is this specific category editable by me" check at lines 56-61 is dead code because it compares `$getType` (a category-type code) against mode names (`edit`/`save`/`delete`); the condition is permanently false, so `$category->isEditable()` is never invoked. Prior to version 5.0.10, the `delete`, `sequence`, and `save` switch cases load the category by the supplied UUID and act on it without re-checking that the category belongs to a

    • Update to 5.0.10
    Published Updated
  7. CVE-2026-47226

    Medium · CVSS 6.5EPSS 0.35%Fix available

    Admidio: Authorization bypass in file_delete enables cross-folder file removal by authenticated users without delete privileges

    Admidio is an open-source user management solution. Prior to version 5.0.10, an authenticated Admidio member with upload rights on any one folder can permanently delete files from folders where they have only view access. The authorization check at the top of `modules/documents-files.php` evaluates upload rights against the attacker-supplied `folder_uuid` URL parameter — not the file's actual parent folder. The `file_delete` handler then only verifies view rights on the file's real location, never upload rights. By passing a folder they legitimately own in `folder_uuid` while targeting a file in a restricted folder via `file_uuid`, an attacke

    • Update to 5.0.10
    Published Updated
  8. CVE-2026-46670

    Critical · CVSS 9.8EPSS 1.99%Public exploitFix available

    YesWiki: Unauthenticated SQL Injection

    YesWiki is a wiki system written in PHP. Prior to version 4.6.4, an unauthenticated SQL injection in the Bazar form-import path (`FormManager::create()`) allows any unauthenticated visitor of a default YesWiki install to inject arbitrary SQL into an `INSERT` statement and read the full database, including `yeswiki_users.password` hashes. Version 4.6.4 fixes the issue.

    • Update to 4.6.4
    Published Updated
  9. CVE-2026-72785

    Critical · CVSS 9.3EPSS 0.27%Fix available

    Craft CMS before 5.10.6 Authorization Bypass via structures/move-element

    Craft CMS 5.0.0-RC1 through 5.10.5 contains an incorrect authorization vulnerability. A control-panel user holding only the viewCategories permission (without saveCategories) for a category group can permanently modify that group's category structure — reordering and re-parenting categories — via the structures/move-element action. The structureEditable flag is computed from the view permission rather than the save permission, and the StructuresController authorizes the mutating action on that read-time session grant without a save re-check. Because a category's URI is derived from its position in the structure, moving a category changes its

    • Update to 5.10.6
    Published Updated
  10. CVE-2026-72783

    Medium · CVSS 6.9EPSS 0.2%Fix available

    Craft CMS 5.0.0-RC1 before 5.10.6 Path Traversal via ensurePathIsContained

    Craft CMS versions >= 5.0.0-RC1 before 5.10.6 and >= 4.0.0-RC1 before 4.18.2 contain a theoretical path traversal weakness in the ensurePathIsContained function of the Local file system class. The order of operations validates the path before normalization, so normalization could invalidate prior validation assumptions (a desanitization-style issue) and potentially resolve to files outside the intended volume directory. The vendor notes the issue is not directly exploitable and no exploitable scenario has been discovered; the fix is recommended for hardening.

    • Update to 4.18.2
    • Update to 5.10.6
    Published Updated
  11. CVE-2026-72782

    High · CVSS 7.1EPSS 0.39%Fix available

    Craft CMS 5.0.0-RC1 before 5.10.6 Environment Variable Leak

    Craft CMS versions >= 5.0.0-RC1 before 5.10.6 and >= 4.0.0-RC1 before 4.18.2 interpolate environment variables and secrets (via ${ENV_VAR} strings in the elementId parameter) into Twig templates before rendering, even when the Twig sandbox is enabled. An authenticated attacker with control panel access can render a malicious sandboxed Twig template and, using a blind error-based technique across many requests, incrementally leak arbitrary environment variables and secrets. These can be abused to forge sessions (via CRAFT_SECURITY_KEY), escalate privileges, and steal database, SMTP, API, or blob storage credentials. Fixed in 5.10.6 and 4.18.2.

    • Update to 4.18.2
    • Update to 5.10.6
    Published Updated
  12. CVE-2026-72781

    High · CVSS 8.7EPSS 0.79%Fix available

    Craft CMS 5.0.0-RC1 before 5.10.7 Remote Code Execution via Twig Sandbox Escape

    Craft CMS versions >= 5.0.0-RC1 before 5.10.7 and >= 4.0.0-RC1 before 4.18.3 contain a remote code execution vulnerability in the Twig sandbox mechanism. Because Craft marks the ElementInterface as safe (via the AllowedInSandbox attribute) and the sandbox allowlisting extends to the entire class hierarchy (craft\base\Component up to yii\base\Component), an authenticated attacker with permission to access the control panel can render a malicious Twig template that abuses the yii\base\Component arbitrary function-call gadget to execute arbitrary code, even when the Twig sandbox is enabled via enableTwigSandbox().

    • Update to 4.18.3
    • Update to 5.10.7
    Published Updated
  13. CVE-2026-72780

    High · CVSS 7.1EPSS 0.39%Fix available

    Craft CMS before 5.10.5 WebAuthn Assertion Replay via login-with-passkey

    Craft CMS before 5.10.5 fails to persist updated credential counters after WebAuthn assertion validation in the passkey login endpoint. Attackers can replay captured login request bodies containing requestOptions and response to create additional authenticated sessions for victim accounts.

    • Update to 5.10.5
    Published Updated
  14. CVE-2026-72779

    High · CVSS 8.7EPSS 0.38%Fix available

    Craft CMS 5.0.0-RC1 before 5.10.6 Arbitrary File Read via SplFileObject

    Craft CMS 5.0.0-RC1 before 5.10.6 and 4.0.0-RC1 before 4.18.2 contain an arbitrary file read vulnerability. The create() Twig function restricts class instantiation using a 5-entry blocklist that does not include SplFileObject, allowing an authenticated administrator (with allowAdminChanges=true) to configure a malicious entry type title or URI format that instantiates SplFileObject in a non-sandboxed template context. When a user subsequently creates an entry in the affected section, arbitrary files on the server (such as .env containing the security key and database credentials) are read and rendered as entry titles.

    • Update to 4.18.2
    • Update to 5.10.6
    Published Updated
  15. CVE-2026-72778

    High · CVSS 8.7EPSS 0.8%Fix available

    Craft CMS 5.0.0-RC1 before 5.10.6 Authenticated RCE via condition.config

    Craft CMS versions from 4.0.0-RC1 before 4.18.2 and from 5.0.0-RC1 before 5.10.6 contain an authenticated remote code execution vulnerability in the control panel element-search condition handling. Craft cleanses the outer request-controlled condition array via Component::cleanseConfig(), but Conditions::createCondition() later decodes and merges the JSON string in condition.config without re-running cleanseConfig() on the decoded configuration. Because condition.config is a JSON string during the first cleanse, Yii special config keys such as 'as ...' and 'on ...' can be hidden inside it and, after JSON decoding, are interpreted by Yii as be

    • Update to 4.18.2
    • Update to 5.10.6
    Published Updated
  16. CVE-2026-19418

    High · CVSS 7.3EPSS 0.24%Fix available

    TYPO3 CMS - Broken Access Control in Backend and Install Tool

    The referrer enforcement introduced with TYPO3-CORE-SA-2020-006 (CVE-2020-11069) became ineffective in TYPO3 v13.0, where TYPO3 CMS started serving the backend and Install Tool applications from the site's main entry script instead of the dedicated typo3/ directory. Whether a request originated from the backend or Install Tool itself was determined by comparing the referrer against the directory of the entry script, which since then is the site root. As a consequence, requests originating from any script running on one of the TYPO3 instance's own domains, such as a frontend page, were accepted by backend routes and Install Tool endpoints. A

    • Update to 13.4.34
    • Update to 14.3.6
    Published Updated
  17. CVE-2026-69127

    Medium · CVSS 6.9EPSS 0.7%Fix available

    Kirby: System path exposure from error messages in the REST API

    Kirby is an open-source content management system. Prior to 4.9.5 and from 5.0.0 through 5.5.1, the REST API error handler can return unsanitized PHP error messages that expose the full filesystem path of the Kirby installation to unauthenticated API users. This vulnerability affects all Kirby sites that have not disabled the REST API with the 'api' => false option. This issue is fixed in versions 4.9.5 and 5.5.2.

    • Update to 4.9.5
    • Update to 5.5.2
    Published Updated
  18. CVE-2026-62996

    Medium · CVSS 6.9EPSS 0.51%Fix available

    Smarty Security stream restriction bypass through stream: resource

    Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic. From 5.0.0 until 5.8.4, Smarty's stream: resource-name handling does not adequately restrict which PHP stream wrappers and filter chains can be referenced from a template, allowing a php://filter-wrapped resource name to be used to read the contents of arbitrary local files accessible to the PHP process. An attacker able to author or influence a template's resource reference could exploit this to disclose sensitive file contents outside the intended template/config scope. This issue is fixed in version 5.8.4.

    • Update to 5.8.4
    Published Updated
  19. CVE-2026-62992

    Medium · CVSS 6.9EPSS 0.53%Fix available

    Smarty: Symlink path traversal out of trusted directories

    Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic. Prior to 5.8.2 (and 4.5.7 on the 4.x line), Security::_checkDir() does not fully resolve symbolic links before validating that a requested path lies within a configured secure directory. An attacker able to place or reference a symlink within a directory Smarty treats as trusted (e.g., a template or config directory) could use it to point outside the intended secure directory, bypassing the containment check and reading arbitrary files accessible to the PHP process. This issue is fixed in versions 5.8.2 and 4.5.7.

    • Update to 4.5.7
    • Update to 5.8.2
    Published Updated
  20. CVE-2026-67434

    High · CVSS 7.3EPSS 1.06%Fix available

    PHP_CodeSniffer gitblame report command injection via crafted filename

    PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards. Prior to versions 3.13.6 and 4.0.2, PHP_CodeSniffer contains a command injection vulnerability in the code that generates the Gitblame, Hgblame, and Svnblame report formats. As a result, running PHP_CodeSniffer over untrusted files, for example in a continuous integration pipeline that scans pull requests, or on a developer machine reviewing third party code, could result in attacker controlled shell commands being executed when the Gitblame, Hgblame, or Svnblame report processes a file whose name contains shell metacharacters. Users using the def

    • Update to 3.13.6
    • Update to 4.0.2
    Published Updated

Check your server

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

Check your server →