An out-of-bounds read occurs due to insufficient bounds checking. This flaw allows an application to read kernel memory or cause unexpected system termination. An out-of-bounds read is a condition where a program reads data past the end or before the beginning of the intended buffer.