id: nextjs-redirect

info:
  name: Next.js <1.2.3 - Open Redirect
  author: DhiyaneshDk
  severity: medium
  description: Next.js contains an open redirect via “_next/image” due to improper path parsing.
  remediation: Upgrade to Next.js version 1.2.3 or higher.
  reference:
    - https://github.com/netlify/netlify-ipx/security/advisories/GHSA-9jjv-524m-jm98
    - https://samcurry.net/universal-xss-on-netlifys-next-js-library/
  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
    cwe-id: CWE-601
    cpe: cpe:2.3:a:zeit:next.js:*:*:*:*:*:*:*:*
  metadata:
    max-request: 1
    shodan-query: html:"/_next/static"
    product: next.js
    vendor: zeit
  tags: redirect,nextjs,xss

http:
  - method: GET
    path:
      - '{{BaseURL}}/_next/image?url=/\/\interact.sh/&q=100&w=128&h=128'

    matchers-condition: and
    matchers:
      - type: word
        part: header
        words:
          - 'Location: /\/\/interact.sh'

      - type: status
        status:
          - 308
# digest: 4b0a00483046022100988801395658d63d5930304cd43ed1808f6b4161b72fa54fbe4f791d0e9d68de022100e52ff5bfb0144df69017cd0fcbc79ae69f0f04eac9b8ee68a9088d1f72479ae0:922c64590222798bb761d5b6d8e72950