VNX-186 – Overly Restrictive Regular Expression

Overview

VNX-186 maps to CWE-186: Overly Restrictive Regular Expression. Detects source patterns associated with CWE-186 (Overly Restrictive Regular Expression). Each finding should be manually reviewed for exploitability in context.

Severity: Medium | CWE: CWE-186 | Languages: java, node, python

Why This Matters

This weakness class (Overly Restrictive Regular Expression) creates a concrete exploit surface: the rule searches for the concrete source-level patterns most commonly associated with CWE-186 and surfaces them for review. Each finding should be evaluated in context — the rule catches the pattern, not the context.

What Gets Flagged

// FLAGGED: contains 're.match("^[a-z]+$"' pattern
re.match("^[a-z]+$"

Remediation

  1. Review each flagged line and determine whether the pattern represents a real instance of CWE-186 or a false positive.
  2. Replace the flagged construct with a documented safe alternative appropriate to your language and framework.
  3. For confirmed false positives, add a # vulnetix-ignore: VNX-186 comment on the line.
  4. Ensure equivalent test coverage exists to prevent regression.

References