Skip to content
vetkitChecksChangelogDocumentation

vetkit.php.crypto.openssl-static-iv

openssl_encrypt() is called with a constant initialization vector. Reusing an IV with the same key leaks plaintext relationships (and breaks GCM/CTR completely).

Last updated:

Suite: Security

php

openssl_encrypt() is called with a constant initialization vector. Reusing an IV with the same key leaks plaintext relationships (and breaks GCM/CTR completely).

Category: SECURITY · Engine rule severity: WARNING

How to fix it

Generate a fresh IV per message with random_bytes(openssl_cipher_iv_length($cipher)) and store it with the ciphertext.

References

Source: packages/engine/rules/sast/php.yml.

Generated from shipped rule definitions at build time. Matching is a review signal, not proof of exploitability. “generic” denotes text matching, not complete language or framework coverage. Runtime configuration and available tools affect whether a rule runs.