VNX-470 – Use of Externally-Controlled Input to Select Classes or Code ('Unsafe Reflection')

Overview

VNX-470 maps to CWE-470: Use of Externally-Controlled Input to Select Classes or Code (‘Unsafe Reflection’). Detects source patterns associated with CWE-470 (Use of Externally-Controlled Input to Select Classes or Code (‘Unsafe Reflection’)). Each finding should be manually reviewed for exploitability in context.

Severity: High | CWE: CWE-470 | Languages: java, python

Why This Matters

This weakness class (Use of Externally-Controlled Input to Select Classes or Code (‘Unsafe Reflection’)) creates a concrete exploit surface: the rule searches for the concrete source-level patterns most commonly associated with CWE-470 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 'Class.forName(' pattern
Class.forName(
// FLAGGED: contains 'importlib.import_module(' pattern
importlib.import_module(

Remediation

  1. Review each flagged line and determine whether the pattern represents a real instance of CWE-470 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-470 comment on the line.
  4. Ensure equivalent test coverage exists to prevent regression.

References