There's currently a security hole in all known versions of Asuswrt and Asuswrt-Merlin that can allow a LAN user to execute a command on the router without requiring authentication.
LATEST UPDATE:
Asus resolved the issue with firmware updates released on January 12th for all models. If using the stock firmware then make sure you update to the latest version released on or around January 12th.
Also, the "brute force" fix I applied in 376.49_5 will most likely be the fix I will stick with (unless Asus's fix involves additional fixes, of course). The code that I disabled is only used at manufacturing time, so there is no point in leaving any of this section of code enabled for production use.
UPDATE:
If you are running my firmware, please installe 376.49_5, which has the vulnerable feature of infosvr disabled. Note that this is just a brute force solution where I completely disabled the code responsible for allowing remote code execution. It could have unforeseen consequences, possibly with Asus's Device Discovery tool, or their printer sharing option. It's impossible to say, as I have no real idea what infosvr does exactly.
This is just a temporary fix, as once Asus comes up with a more appropriate fix, it will most likely replace the current one.
If you are using the stock firmware, or for some reason cannot update your router, then you can still use the mentioned mitigation tricks posted below.
Original mitigation trick:
Unfortunately, someone already publicly disclosed the details on how to exploit this security hole before Asus even had a chance to fix it, so I've decided to post a mitigation method here to allow people to secure their network. I won't post the details of the security hole in public until Asus has had a chance to fix it, and I will moderate any post here that provide any additional detail that could help people to actively exploit the security issue.
Use one of the two following methods:
1) If you have JFFS enabled, simply create a firewall-start script with the following:
Then, restart your firewall:
2) If you don't (or won't) enable the JFFS partition, then you will have to telnet/SSH into your router, and manually run that command:
Note that this rule will disappear anytime you reboot your router, or do any configuration change that leads to the router re-configuring its firewall.
The security hole is *ONLY* exploitable from the LAN, so if you trust everyone on your LAN, then it isn't too serious.
Again, until Asus publishes an official fix, please don't post any additional detail if you happen to find any. I will actively edit any post that contains any additional information as to how this security hole can be exploited.
LATEST UPDATE:
Asus resolved the issue with firmware updates released on January 12th for all models. If using the stock firmware then make sure you update to the latest version released on or around January 12th.
Also, the "brute force" fix I applied in 376.49_5 will most likely be the fix I will stick with (unless Asus's fix involves additional fixes, of course). The code that I disabled is only used at manufacturing time, so there is no point in leaving any of this section of code enabled for production use.
UPDATE:
If you are running my firmware, please installe 376.49_5, which has the vulnerable feature of infosvr disabled. Note that this is just a brute force solution where I completely disabled the code responsible for allowing remote code execution. It could have unforeseen consequences, possibly with Asus's Device Discovery tool, or their printer sharing option. It's impossible to say, as I have no real idea what infosvr does exactly.
This is just a temporary fix, as once Asus comes up with a more appropriate fix, it will most likely replace the current one.
If you are using the stock firmware, or for some reason cannot update your router, then you can still use the mentioned mitigation tricks posted below.
Original mitigation trick:
Unfortunately, someone already publicly disclosed the details on how to exploit this security hole before Asus even had a chance to fix it, so I've decided to post a mitigation method here to allow people to secure their network. I won't post the details of the security hole in public until Asus has had a chance to fix it, and I will moderate any post here that provide any additional detail that could help people to actively exploit the security issue.
Use one of the two following methods:
1) If you have JFFS enabled, simply create a firewall-start script with the following:
Code:
#!/bin/sh
iptables -I INPUT -p udp --dport 9999 -j DROP
Then, restart your firewall:
Code:
service restart_firewall
2) If you don't (or won't) enable the JFFS partition, then you will have to telnet/SSH into your router, and manually run that command:
Code:
iptables -I INPUT -p udp --dport 9999 -j DROP
Note that this rule will disappear anytime you reboot your router, or do any configuration change that leads to the router re-configuring its firewall.
The security hole is *ONLY* exploitable from the LAN, so if you trust everyone on your LAN, then it isn't too serious.
Again, until Asus publishes an official fix, please don't post any additional detail if you happen to find any. I will actively edit any post that contains any additional information as to how this security hole can be exploited.
Last edited: