Cipher Block Chaining mode is a block cipher mode that combines each plaintext block with the previous ciphertext block before encryption. It uses an initialisation vector for the first block, which hides repeated patterns better than ECB, but it still needs correct padding and integrity protection to avoid manipulation attacks.
How CBC Mode Works
CBC is a chaining mode, so each plaintext block is combined with the previous ciphertext block before encryption. That linkage makes the same plaintext block encrypt differently depending on its position and the preceding block, which is why CBC was historically used to reduce obvious repetition compared with ECB.
The first block needs an initialisation vector, or IV, so the mode has a starting point. In practice, the IV must be unique and handled correctly, because CBC security depends on more than the cipher itself. The mode is only as strong as the surrounding implementation choices for IV generation, padding, and integrity protection.
Why CBC Is Still Easy to Get Wrong
CBC’s main weakness is not the block cipher primitive, but the way the mode behaves when integrity is missing. Because ciphertext blocks influence later blocks, a bit-flip or malformed input can corrupt plaintext in predictable ways, and padding errors can become a side channel if the application reveals different failure behaviour.
This is why CBC is often described as safe only when it is paired with robust authenticity checks. Modern guidance usually prefers authenticated encryption modes, because they provide confidentiality and integrity together rather than requiring the application to assemble those properties correctly from separate components.
For a broader explanation of where CBC fits among modern modes and why AEAD is usually preferred, see the Cryptography Basics Guide and the Authenticated Encryption and Block Cipher Modes Guide.
Common Implementation Pitfalls
CBC breaks down when teams reuse IVs, choose weak padding handling, or treat encryption as if it also proves integrity. A repeated IV can expose structure across messages, while sloppy padding logic can enable oracle-style attacks that reveal information about the plaintext over time.
Another practical issue is that CBC does not protect against ciphertext manipulation by itself. If an attacker can alter stored or transmitted ciphertext, the receiving system may decrypt tampered data unless a separate integrity mechanism, such as a message authentication code or an authenticated mode, is in place.
When CBC Still Appears in Real Systems
CBC remains relevant because many legacy protocols, libraries, and long-lived systems still support it. That means practitioners may encounter it in older TLS configurations, archived data formats, encryption APIs, or compatibility layers where changing the mode would require coordinated migration.
In those environments, the practical question is not whether CBC is historically important, but whether the implementation is constrained by legacy interoperability. Where CBC must remain, the surrounding design should compensate with strong randomness, strict padding handling, and integrity controls that are explicitly validated rather than assumed.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
NIST SP 800-53 Rev 5 and NIST SP 800-57 set the technical controls, while ISO/IEC 27001:2022 defines the regulatory obligations.
| Framework | Control / Reference | Relevance |
|---|---|---|
| NIST SP 800-53 Rev 5 | SC-8 — Transmission Confidentiality and Integrity | CBC protects confidentiality in transit or storage, but integrity must be enforced separately. |
| SC-13 — Cryptographic Protection | CBC is a cryptographic protection mechanism whose safe use depends on correct mode handling. | |
| IA-5 — Authenticator Management | CBC implementations often fail when keys, IVs, or related secret material are managed poorly. | |
| Recommendation — Pair CBC-based encryption with integrity controls for any protected data flow. Use approved cryptographic protections and validate mode-specific implementation requirements. Enforce strict lifecycle control for cryptographic secret material used with CBC. | ||
| NIST SP 800-57 | Key Management Lifecycle | CBC deployments depend on sound key lifecycle practices to preserve confidentiality over time. |
| Recommendation — Set rotation, storage, and retirement policy for the keys protecting CBC-encrypted data. | ||
| ISO/IEC 27001:2022 | A.8.24 — Use of cryptography | CBC is a cryptographic mode whose selection and implementation belong under cryptography control governance. |
| Recommendation — Specify approved cipher modes and review legacy CBC use under cryptography policy. | ||
Related resources from NHI Mgmt Group
Deepen Your Knowledge
Free weekly newsletter
Subscribe to the NHI & AI Identity Journal
The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.
Bonus 33% off our NHI Course when you subscribe.
Reviewed and updated by the NHIMG editorial team on November 3, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org