FTA:
> A successful ROP attack needs the following ingredients:
> buffer overflow vulnerable application
Also, this article is about constructing the program to run using ROP, not about calling it. It’s only the latter that requires an exploit, typically from a buffer overflow.