A vulnerability in Shorewall allows clients authenticated by MAC address filtering to bypass all other security rules.
| Package | Arch | Vulnerable | Unaffected |
|---|---|---|---|
| net-firewall/shorewall | * | <= 2.4.1 | >= 2.4.2 |
Shorewall is a high level tool for configuring Netfilter, the firewall facility included in the Linux Kernel.
Shorewall fails to enforce security policies if configured with "MACLIST_DISPOSITION" set to "ACCEPT" or "MACLIST_TTL" set to a value greater or equal to 0.
A client authenticated by MAC address filtering could bypass all security policies, possibly allowing him to gain access to restricted services. The default installation has MACLIST_DISPOSITION=REJECT and MACLIST_TTL=(blank) (equivalent to 0). This can be checked by looking at the settings in /etc/shorewall/shorewall.conf
Set "MACLIST_TTL" to "0" and "MACLIST_DISPOSITION" to "REJECT" in the Shorewall configuration file (usually /etc/shorewall/shorewall.conf).
All Shorewall users should upgrade to the latest available version:
# emerge --sync # emerge --ask --oneshot --verbose net-firewall/shorewall
Shorewall contains a bug in the code handling the creation of temporary files and directories. This can allow a non-root user to overwrite arbitrary system files.
| Package | Arch | Vulnerable | Unaffected |
|---|---|---|---|
| net-firewall/shorewall | * | <= 1.4.10c | >= 1.4.10f |
Shorewall is a high level tool for configuring Netfilter, the firewall facility included in the Linux Kernel.
Shorewall uses temporary files and directories in an insecure manner. A local user could create symbolic links at specific locations, eventually overwriting other files on the filesystem with the rights of the shorewall process.
An attacker could exploit this vulnerability to overwrite arbitrary system files with root privileges, resulting in Denial of Service or further exploitation.
There is no known workaround at this time. All users should upgrade to the latest available version of Shorewall.
All users should upgrade to the latest available version of Shorewall, as follows:
# emerge sync # emerge -pv ">=net-firewall/shorewall-1.4.10f" # emerge ">=net-firewall/shorewall-1.4.10f"