3.0.x - Issue with EAP-SIM - EAP-Message too short in Challenge

Alan DeKok aland at deployingradius.com
Wed Jun 11 19:42:54 CEST 2014


Chaigneau, Nicolas wrote:
> I've noticed some changes to eapsimlib.c (not sure if it's linked...) in the following commit :
> https://github.com/FreeRADIUS/freeradius-server/commit/39df09e42d80a96363be0bddee2ff0ba97fdb035
> 
> So I tried a prior commit :
> https://github.com/FreeRADIUS/freeradius-server/tree/7edb8dd4a91d0111da0950e21c113cfc3e4d2a28
> With this version I don't have the problem.

  The only differences in eapsimlib are to change some header definitions:

....
$ git diff 7edb8dd4a91..39df09e42d80 src/modules/rlm_eap/libeap/eapsimlib.c
diff --git a/src/modules/rlm_eap/libeap/eapsimlib.c
b/src/modules/rlm_eap/libeap/eapsimlib.c
index 8afed40..c2975ed 100644
--- a/src/modules/rlm_eap/libeap/eapsimlib.c
+++ b/src/modules/rlm_eap/libeap/eapsimlib.c
@@ -408,7 +408,7 @@ int eapsim_checkmac(TALLOC_CTX *ctx, VALUE_PAIR
*rvps, uint8_t key[EAPSIM_AUTH_S
                 */
                attr = buffer+8;
                while(attr < (buffer+elen)) {
-                       if(attr[0] == PW_EAP_SIM_MAC) {
+                       if (attr[0] == (PW_EAP_SIM_MAC - PW_EAP_SIM_BASE)) {
                                /* zero the data portion, after making sure
                                 * the size is >=5. Maybe future versions.
                                 * will use more bytes, so be liberal.
....


  That shouldn't affect anything.

  Can you confirm that the commit before 39df09e42d works?  If so, the
fix should be simple.

  Alan DeKok.


More information about the Freeradius-Users mailing list