Bug 1269217
Summary: | FreeRADIUS triggers mprotect with large radius reply | ||||||
---|---|---|---|---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | dzr0001 | ||||
Component: | freeradius | Assignee: | Nikolai Kondrashov <nikolai.kondrashov> | ||||
Status: | CLOSED ERRATA | QA Contact: | Jaroslav Aster <jaster> | ||||
Severity: | high | Docs Contact: | |||||
Priority: | high | ||||||
Version: | 7.1 | CC: | dpal, dzr0001, jnuckoll, pkis | ||||
Target Milestone: | rc | ||||||
Target Release: | --- | ||||||
Hardware: | x86_64 | ||||||
OS: | Linux | ||||||
Whiteboard: | |||||||
Fixed In Version: | Doc Type: | If docs needed, set a value | |||||
Doc Text: | Story Points: | --- | |||||
Clone Of: | Environment: | ||||||
Last Closed: | 2017-08-01 20:36:03 UTC | Type: | Bug | ||||
Regression: | --- | Mount Type: | --- | ||||
Documentation: | --- | CRM: | |||||
Verified Versions: | Category: | --- | |||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||
Cloudforms Team: | --- | Target Upstream Version: | |||||
Embargoed: | |||||||
Bug Depends On: | 1202751 | ||||||
Bug Blocks: | |||||||
Attachments: |
|
Description
dzr0001
2015-10-06 16:53:38 UTC
Hello DZR0001, Thank you for the report and sorry for the delay, we're just going around to handling FreeRADIUS bugs. Would it be possible for you to post the exact commands you've executed, or perhaps a script that produced these results? If not, could you please describe exactly what you mean by "request is too large"? Also, did you report this upstream, if yes, could you please provide a link? Thank you. Hi, A request that is "too large" is anything over 4096. I suspect this could be any garbage response. I've not reported this upstream. I build a test case with garbage data if that would be helpful. Understood. Yes, that would be most useful. Please post it if you can, please also add whatever server configuration is necessary to make it work. Thank you! I installed freeradius-3.0.4-6.el7.x86_64, admittedly on a centos machine. The only configuration change that I made was to add a user in /etc/raddb/users with the following configuration: <user> testuser Cleartext-Password := "t3stm3!" Service-Type = Framed-User, Framed-Protocol = PPP, Reply-Message += "THIS IS A LONG TEST MESSAGE 0", Reply-Message += "THIS IS A LONG TEST MESSAGE 1", </user> I increased the number of reply lines until I reached the 4096 limit. The behavior was as follows: 125 lines: works, response size was 4080 126-129 lines: errors: radclient: Received bad packet: Discarding packet: Larger than RFC limitation of 4096 bytes 130 lines: segfault with stack smashing error I'll attach strace output from the segfaulted run. Thanks. Created attachment 1134610 [details]
Radiusd strace output
Thank you for the details, dzr0001. I found the problem in the code up to version 3.0.11. However, the latest code in the upstream v3.0.x branch has it fixed. I'll work on backporting the fix. Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHEA-2017:1954 |