If you can change libc then you have equal to or greater permissions than the calling process. So this strengthens the security model.
(Oh, double checked, and uh, maybe. ld.so does treat libc specially if it finds it in the library list, but at that point, you are linking with libc. But afaik there's no requirement you use the system ld.so either.)
They are designed as a protection against stuff like ROP and other memory based, zero information attacks that hit already running processes.