>Assuming that the router tables don't change, shouldn't the path the packet takes >(hop-by-hop) be the same for the same source and destination address pairs?

There are other factors that determine which path is chosen, such as traffic.

You might find this page: [Computer Networks | Longest Prefix Matching in Routers][1]n helpful.

>If it is, then isn't it a security vulnerability?

I assume you're thinking of something along the lines of poisoning the route decision to send packets where you want them to go, sort of like ARP poisoning in a LAN.

While I don't know of any specific way to do this using Longest Prefix Matching specifically there do exist methods for hijacking routes in the exterior routing space. For example: [IP Prefix Spoofing Attacks][2].


  [1]: https://www.geeksforgeeks.org/computer-networks-longest-prefix-matching-in-routers/
  [2]: http://securityskeptic.typepad.com/the-security-skeptic/2011/06/ip-prefix-spoofing-attacks.html