** Description changed:
+ [Impact]
+
+ Freeradius proxies on Noble/Oraclular that are configured with
+ "status_check = status-server" (default in Ubuntu) will crash after
+ sending out a status request to an unresponsive server.
+
+ The fix for this issue should be backported to prevent users from
+ experiencing segmentation faults in this case.
+
+ The issue is fixed by an upstream commit that ignores server-side ping
+ packets in stats as parsing them caused the crash.
+
+ [Test Plan]
+
+ This issue can be reproduced using lxd:
+
+ lxc launch ubuntu:{oracular/noble} test-freeradius
+ lxc exec test-freeradius bash
+
+ apt update
+ apt upgrade
+ apt install freeradius
+
+ - Add a test server with an ip that will not respond successfully, pool,
+ and default realm to proxy.conf
+
+ cat <<EOF >/etc/freeradius/3.0/proxy.conf
+ home_server server1 {
+ type = auth
+ ipaddr = 192.168.0.1 # IP without a responsive server
+ port = 1812
+ secret = secret1
+ status_check = status-server
+ }
+
+ home_server_pool server1_pool {
+ home_server = server1
+ }
+
+ realm DEFAULT {
+ nostrip
+ auth_pool = server1_pool
+ }
+ EOF
+
+ - stop background freeradius to run with full debug
+ systemctl stop freeradius
+ freeradius -X
+
+ - In another window:
+ lxc exec test-freeradius bash
+ radtest [email protected] pass1 127.0.0.1 0 testing123
+
+ -In the original window, something like the following will show up over
+ time until there is a crash
+
+ (0) Received Access-Request Id 144 from 127.0.0.1:40818 to 127.0.0.1:1812
length 85
+ (0) Message-Authenticator = 0xc0d6ee29e5ab335d043ff29fded35eee
+ (0) User-Name = "[email protected]"
+ (0) User-Password = "pass1"
+ ...
+ Waking up in 0.3 seconds.
+ (0) Expecting proxy response no later than 29.666804 seconds from now
+ Waking up in 29.6 seconds.
+ (0) Sending duplicate proxied request to home server 192.168.0.1 port 1812 -
ID: 150
+ (0) Sent Access-Request Id 150 from 0.0.0.0:45332 to 192.168.0.1:1812 length
96
+ (0) Message-Authenticator = 0xc0d6ee29e5ab335d043ff29fded35eee
+ (0) User-Name = "[email protected]"
+ (0) User-Password = "pass1"
+ ...
+ (0) Proxy-State = 0x313434
+ Waking up in 24.9 seconds.
+ ...
+ No response to status check 1 ID 198 for home server 192.168.0.1 port 1812
+ Segmentation fault (core dumped)
+
+ - When the issue is fixed, freeradius will send out a status message
+ without crashing and continue waiting
+
+
+ [Where problems could occur]
+
+ Problems would most likely occur during stats processing, in the case
+ where the request_stats_final function is exited prematurely due to a
+ server ping packet.
+
+ [Other Info]
+
+ This issue was caused by an upstream regression after jammy's release version
and was fixed prior to plucky, so only noble and oracular are affected.
+
+ [Original Description]
+
Hi,
+ We upgraded a host running freeradius from Ubuntu 22.04 to Ubuntu 24.04
+ (3.2.5+dfsg-3~ubuntu24.04.2) and noticed freeradius crashes every few
+ minutes. After running the server in debug mode, it seemed like
+ freeradius crashed about 30 seconds after sending a status-server to our
+ configured home_server and not receiving a reply.
- We upgraded a host running freeradius from Ubuntu 22.04 to Ubuntu 24.04
(3.2.5+dfsg-3~ubuntu24.04.2) and noticed freeradius crashes every few minutes.
After running the server in debug mode, it seemed like freeradius crashed about
30 seconds after sending a status-server to our configured home_server and not
receiving a reply.
-
- [ 541.920486] freeradius[2767]: segfault at 44 ip 00005629c2a28d24 sp
+ [ 541.920486] freeradius[2767]: segfault at 44 ip 00005629c2a28d24 sp
00007ffda6fc0cb8 error 4 in freeradius[5629c2a08000+46000] likely on CPU
1 (core 0, socket 1)
-
- Some Googling found a similar report for Almalinux:
https://bugs.almalinux.org/view.php?id=479
+ Some Googling found a similar report for Almalinux:
+ https://bugs.almalinux.org/view.php?id=479
Almalinux's report links to this commit as a fix:
https://github.com/FreeRADIUS/freeradius-
server/commit/3a9449539e4c5a74c85685cad6abe6edf412f701
-
- After changing our home_server configuration from "status_check =
status-server" to "status_check = none", these crashes stopped.
+ After changing our home_server configuration from "status_check =
+ status-server" to "status_check = none", these crashes stopped.
** Also affects: freeradius (Ubuntu Plucky)
Importance: Undecided
Status: New
** Changed in: freeradius (Ubuntu Plucky)
Status: New => Fix Released
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2104372
Title:
freeradius 3.2.5 crashes when configured with status_check=status-
server and the server is not responding
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/freeradius/+bug/2104372/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs