rules:
- id: wkhtmltopdf-injection
  message: >-
    If unverified user data can reach the `wkhtmltopdf` it can result in Server-Side Request Forgery vulnerabilities
  metadata:
    owasp:
    - A10:2021 - Server-Side Request Forgery (SSRF)
    - A01:2025 - Broken Access Control
    cwe:
    - 'CWE-918: Server-Side Request Forgery (SSRF)'
    category: security
    technology:
    - wkhtmltopdf
    cwe2022-top25: true
    cwe2021-top25: true
    subcategory:
    - audit
    likelihood: LOW
    impact: LOW
    confidence: LOW
    references:
    - https://owasp.org/Top10/A10_2021-Server-Side_Request_Forgery_%28SSRF%29
  languages:
  - javascript
  - typescript
  severity: WARNING
  patterns:
  - pattern-inside: |
      $WK = require('wkhtmltopdf');
      ...
  - pattern-not-inside: |
      var $INPUT = "...";
      ...
  - pattern: $WK($INPUT,...)
  - pattern-not: $WK("...",...)
