Yeah let’s not forget the Common Lisp Object System (CLOS) which was more full-featured of an object-oriented language than most “current” languages.
The dynamism allowed both Smalltalk and CLOS to avoid a dark corner that will confound your typical OOP’er today - the circle/ellipse modeling problem; they allow an object to “become” a different type on its own accord. Take that, Java!
Is COBOL subject to buffer overflows and use-after-free bugs? I honestly don’t know.
I don’t recall the COBOL code I’ve read using pointers.