The use of the vulnerability to repair the vulnerability is very cool. I've done some related work, which may be of interest when one wants to patch a bad binary on the router (instead of simply removing a bad binary as done in this article).
http://eschulte.github.io/netgear-repair/pub/netgear-repair....