/Vulnerability Library

osTicket - Arbitrary File Read

CVE-2026-22200
Verified

Description

Enhancesoft osTicket versions 1.18.x prior to 1.18.3 and 1.17.x prior to 1.17.7 contain an arbitrary file read vulnerability in the ticket PDF export functionality. A remote attacker can submit a ticket containing crafted rich-text HTML that includes PHP filter expressions which are insufficiently sanitized before being processed by the mPDF PDF generator during export. When the attacker exports the ticket to PDF, the generated PDF can embed the contents of attacker-selected files from the server filesystem as bitmap images, allowing disclosure of sensitive local files in the context of the osTicket application user. This issue is exploitable in default configurations where guests may create tickets and access ticket status, or where self-registration is enabled.

Severity

High

Exploit Probability

21%

Affected Product

osticket

Published Date

January 22, 2026

Template Author

dhiyaneshdk

CVE-2026-22200.yaml
id: CVE-2026-22200

info:
  name: osTicket - Arbitrary File Read
  author: DhiyaneshDk
  severity: high
  description: |
    Enhancesoft osTicket versions 1.18.x prior to 1.18.3 and 1.17.x prior to 1.17.7 contain an arbitrary file read vulnerability in the ticket PDF export functionality. A remote attacker can submit a ticket containing crafted rich-text HTML that includes PHP filter expressions which are insufficiently sanitized before being processed by the mPDF PDF generator during export. When the attacker exports the ticket to PDF, the generated PDF can embed the contents of attacker-selected files from the server filesystem as bitmap images, allowing disclosure of sensitive local files in the context of the osTicket application user. This issue is exploitable in default configurations where guests may create tickets and access ticket status, or where self-registration is enabled.
  impact: |
    Remote attackers can read sensitive local files, leading to information disclosure within the osTicket application context.
  remediation: |
    Update to a version later than 1.18.2 or the latest available version.
  reference:
    - https://horizon3.ai/attack-research/attack-blogs/ticket-to-shell-exploiting-php-filters-and-cnext-in-osticket-cve-2026-22200/
    - https://github.com/horizon3ai/CVE-2026-22200/blob/main/check.py
    - https://nvd.nist.gov/vuln/detail/CVE-2026-22200
  classification:
    cve-id: CVE-2026-22200
    epss-score: 0.20761
    epss-percentile: 0.95574
    cwe-id: CWE-74
  metadata:
    verified: true
    max-request: 2
    vendor: osticket
    product: osticket
    shodan-query: html:"osTicket"
  tags: cve,cve2026,osticket,lfi,passive

flow: http(1) && http(2)

http:
  - raw:
      - |
        GET /open.php HTTP/1.1
        Host: {{Hostname}}

    extractors:
      - type: regex
        name: topic_id
        regex:
          - (?is)<option[^>]*\bvalue=["'](\d+)["'][^>]*>\s*([^<]+)\s*</option>
          - (?is)\bname=["']topicId["'][^>]*\bvalue=["'](\d+)["']
        group: 1
        internal: true

      - type: regex
        name: csrf_token
        regex:
          - name=["\']__CSRFToken__["\'][^>]*value=["\']([^"\']+)["\']
          - name=["\']csrf_token["\'][^>]*value=["\']([^"\']+)["\']
          - <input[^>]*type=["\']hidden["\'][^>]*name=["\'][^"\']*token[^"\']*["\'][^>]*value=["\']([^"\']+)["\']
        group: 1
        internal: true

  - raw:
      - |
        POST /open.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        a=open&subject=Test+Ticket+Submission&message=%3Cimg+src%3D%22doesnotexist.jpg%22+srcset%3D%22http%3A%2F%2FPATCH_DETECT_7f3a9b2e.example.com%2Fimage-400.jpg+400w%2C+http%3A%2F%2FPATCH_DETECT_7f3a9b2e.example.com%2Fimage-800.jpg+800w%2C+http%3A%2F%2FPATCH_DETECT_7f3a9b2e.example.com%2Fimage-1200.jpg+1200w%2C+http%3A%2F%2FPATCH_DETECT_7f3a9b2e.example.com%2Fimage-1600.jpg+1600w%22+alt%3D%22Office+landscape%22+width%3D%22800%22+height%3D%22600%22+data-image%3D%22vgmd0ykzb2uq%22%3E&name=Test+User&__CSRFToken__={{csrf_token}}&topicId={{topic_id}}

    matchers:
      - type: dsl
        dsl:
          - status_code == 200
          - contains_all(body, 'srcset','http://PATCH_DETECT_7f3a9b2e.example.com')
        condition: and
# digest: 4b0a00483046022100b9c3b1b739276f90f06fdeecbb0fd092e301a7c211b5210f1d60ac9d397c60ca0221008a5f1c701f1b62d9ea6f56667097dcff57e7e96634bf3e452e4cd2632eae9c60:922c64590222798bb761d5b6d8e72950
7.5Severity

CVSS Metrics

CVE ID:
cve-2026-22200
CWE ID:
cwe-74

References

https://horizon3.ai/attack-research/attack-blogs/ticket-to-shell-exploiting-php-filters-and-cnext-in-osticket-cve-2026-22200/https://github.com/horizon3ai/CVE-2026-22200/blob/main/check.pyhttps://nvd.nist.gov/vuln/detail/CVE-2026-22200

Remediation Steps

Update to a version later than 1.18.2 or the latest available version.