Bug 1468487 (CVE-2017-10978) - CVE-2017-10978 freeradius: Out-of-bounds read/write due to improper output buffer size check in make_secret()
Summary: CVE-2017-10978 freeradius: Out-of-bounds read/write due to improper output bu...
Keywords:
Status: CLOSED ERRATA
Alias: CVE-2017-10978
Product: Security Response
Classification: Other
Component: vulnerability
Version: unspecified
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Red Hat Product Security
QA Contact:
URL:
Whiteboard:
Depends On: 1469117 1469118 1469408 1469409 1471848
Blocks: 1468570
TreeView+ depends on / blocked
 
Reported: 2017-07-07 08:51 UTC by Adam Mariš
Modified: 2021-02-17 01:58 UTC (History)
6 users (show)

Fixed In Version: freeradius 2.2.10, freeradius 3.0.15
Doc Type: If docs needed, set a value
Doc Text:
An out-of-bounds read and write flaw was found in the way FreeRADIUS server handled RADIUS packets. A remote attacker could use this flaw to crash the FreeRADIUS server by sending a specially crafted RADIUS packet.
Clone Of:
Environment:
Last Closed: 2017-08-02 09:35:39 UTC
Embargoed:


Attachments (Terms of Use)
Proposed patch (2.00 KB, patch)
2017-07-07 12:16 UTC, Adam Mariš
no flags Details | Diff
Proposed patch for v3 (1.91 KB, patch)
2017-07-11 12:01 UTC, Nikolai Kondrashov
no flags Details | Diff


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2017:1759 0 normal SHIPPED_LIVE Important: freeradius security update 2017-07-18 07:41:08 UTC
Red Hat Product Errata RHSA-2017:2389 0 normal SHIPPED_LIVE Important: freeradius security update 2017-08-01 19:45:02 UTC

Description Adam Mariš 2017-07-07 08:51:27 UTC
The make_secret() function does not properly check for output buffer size before writing data. It can perform a read or write overflow of up to 16 octets.

The issue can happen when when the server is sending a RADIUS packet that is almost at the maximum (4K octets), and the last attribute in the packet is an Ascend-Send-Secret (or similar) attribute. The data being written is an MD5 digest of the shared secret, concatenated to data which is under the attackers control.

This issue can also happen when receiving a packet that has an Ascend-Send-Secret (or similar) attribute of the wrong size. The server will read data past the end of the attribute, up to a limit of 16 octets.

The security impact is denial of service by anyone who can send packets which are accepted by the server.

Affected versions: 2.0.0 through 3.0.14, inclusive.

Comment 1 Adam Mariš 2017-07-07 08:51:35 UTC
Acknowledgments:

Name: the FreeRADIUS project
Upstream: Guido Vranken

Comment 2 Adam Mariš 2017-07-07 12:16:53 UTC
Created attachment 1295282 [details]
Proposed patch

Comment 7 Nikolai Kondrashov 2017-07-11 12:01:41 UTC
Created attachment 1296197 [details]
Proposed patch for v3

Comment 8 Dhiru Kholia 2017-07-17 14:30:01 UTC
Created freeradius tracking bugs for this issue:

Affects: fedora-all [bug 1471848]

Comment 9 errata-xmlrpc 2017-07-18 03:41:54 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 6

Via RHSA-2017:1759 https://access.redhat.com/errata/RHSA-2017:1759

Comment 10 errata-xmlrpc 2017-08-01 23:24:54 UTC
This issue has been addressed in the following products:

  Red Hat Enterprise Linux 7

Via RHSA-2017:2389 https://access.redhat.com/errata/RHSA-2017:2389

Comment 11 Dhiru Kholia 2017-08-02 09:45:29 UTC
External References:

http://freeradius.org/security/fuzzer-2017.html


Note You need to log in before you can comment on or make changes to this bug.