You're talking about undefined behavior. There's no such thing as a null reference according to the C++ language specification.
So? It's still possible to create one. (There's no such thing as dereferencing an invalid pointer according to the standard, but that still happens.)
If it takes undefined behavior to create a "null reference" then by definition it's not possible to create one and still have a well-defined program. That is, you have bigger problems than "null references" to worry about.
However, null is just a special case of "invalid" pointer (e.g. point to freed memory), and it's very easy to create an invalid reference, e.g. take a reference into a vector and then push a pile more elements onto it, causing the vector to reallocate and move in memory, invalidating the reference.