Bug 1040835

Summary: freeradius shouldn't accept == operator in sql entries
Product: Red Hat Enterprise Linux 6 Reporter: David Spurek <dspurek>
Component: freeradiusAssignee: John Dennis <jdennis>
Status: CLOSED WONTFIX QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: unspecified    
Version: 6.5CC: dpal, ebenes
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-12 14:56:19 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:

Description David Spurek 2013-12-12 08:34:51 UTC
Description of problem:
freeradius shouldn't accept == operator in sql entries

Version-Release number of selected component (if applicable):
freeradius-2.1.12-4.el6_3

How reproducible:
always


Steps to Reproduce:
1.Setup mysql database, add tables for freeradius
2.Setup freeradius to use mysql
3.Add testuser to mysql database with == operator
'INSERT INTO radius.radcheck (UserName, Attribute, Op, Value) VALUES ('paptestuser', 'Cleartext-Password', '==',  'mypassword');'
4. Try to authenticate using radtest
radtest paptestuser mypassword localhost 0 testing123


Actual results:
rad_recv: Access-Accept packet

Expected results:
rad_recv: Access-Reject packet

Additional info:

Comment 2 John Dennis 2013-12-12 14:56:19 UTC
I'm going to close this as WONTFIX because:

1) Changing the behaviour is not backwards compatible, we cannot break existing deployments with an update that changes fundamental behavior.

2) It would make our version of FreeRADIUS incompatible with the upstream version and versions of FreeRADIUS in other distributions (large institutions do run FR on different servers and they want to share configuration and databases between them)

3) FreeRADIUS 2.x is now legacy, it's been replaced by FreeRADIUS 3.x. FreeRADIUS 3.x tightens up the requirement for correct operator usage. This type of change is appropriate to occur only on a major version upgrade where other configuration also needs to be adjusted.

4) It's not actually causing any problems.

5) We could patch FreeRADIUS to emit a warning, but I see little point in spinning a new package and creating an errata just to emit a warning given the issues discussed above.