Skip to content

cognium-dev 3.38.0 — cross-file inter-procedural taint chains

Choose a tag to compare

@openmason openmason released this 12 Jun 06:21
· 29 commits to main since this release

Changed

circle-ir upgraded 3.37.0 → 3.38.0 — closes the Java cross-file inter-procedural taint gap (#19) that hid CVE-2018-1260 (Spring SpEL injection) and CVE-2011-2732 (Spring open redirect) shapes.

+ "cognium-dev scan" + against multi-file Java projects now emits + "taint_paths" + for the canonical pattern:

+ "```" +
source-in-callee-A → wrapper-return-in-caller → sink-call-in-caller → sink-in-callee-B
+ "```" +

…where neither file in isolation contains both a source and the sink.

+ "cross_file_calls[].args_mapping[].taint_propagates" + is now populated from the callee's analyzed + "taintedParams" + summary (previously hard-coded + "false" + ), giving downstream consumers an at-a-glance view of which arguments carry tainted data across a resolved inter-file call.

Output formats (text, JSON, SARIF) are unchanged; previously-hidden multi-hop chains now surface with confidence-decayed paths (0.85 per hop, floor 0.30).

The fix also tightens single-hop cross-file flow detection with a variable-connectivity gate that eliminates false positives when a sanitized wrapper sits between the controller-side source and the callee-side sink.

Java/JS/Python flows for in-file and pre-existing cross-file shapes are unaffected (verified by full OWASP Benchmark Java + Juliet + SecuriBench Micro suites).

Install

+ "```bash" +
npm install -g cognium-dev@3.38.0
+ "```" +

Full diff: cognium-dev-v3.37.0...cognium-dev-v3.38.0