Possible issue with UTF8 misconversion (username with umlauts)

Alan DeKok aland at deployingradius.com
Wed Jul 27 12:14:35 UTC 2022


On Jul 27, 2022, at 7:29 AM, Herda, Martin <Martin.Herda at fritz-edv.de> wrote:
> We've got an issue with umlauts in usernames:
> 
> We are using privacyIDEA to enroll 2FA TOTP token to users for securing login process to VMware Horizon View infrastructure. (Homeoffice use)
> In backend, privacyIDEA is using freeRadius (in conjunction with rlm_perl) to authenticate users against active directory.
> 
> When a user with umlaut is trying to log in, it seems that there is a (double) misconversion happening:

  The server core doesn't care about UTF-8 or random binary data.  It's all just data.

> Radius.log:
> 	Wed Jul 27 08:31:14 2022 : Info: rlm_perl: Config File /etc/privacyidea/rlm_perl.ini found!
> 	Wed Jul 27 08:31:14 2022 : Info: rlm_perl: Debugging config: 
> 	Wed Jul 27 08:31:14 2022 : Info: rlm_perl: Default URL https://localhost/validate/check 
> 	Wed Jul 27 08:31:14 2022 : Info: rlm_perl: Looking for config for auth-type Perl
> 	Wed Jul 27 08:31:14 2022 : Info: rlm_perl: Password encoding guessed: ascii
> 	Wed Jul 27 08:31:14 2022 : Info: rlm_perl: Setting client IP to 192.168.0.12.
> 	Wed Jul 27 08:31:14 2022 : Info: rlm_perl: Auth-Type: Perl
> 	Wed Jul 27 08:31:14 2022 : Info: rlm_perl: url: https://localhost/validate/check
> 	Wed Jul 27 08:31:14 2022 : Info: rlm_perl: user sent to privacyidea: G%C3%83%C2%B6the

  So... what happened before that?

  Please READ the documentation, and FOLLOW IT.  See http://wiki.freeradius.org/list-help

> Username should be 'Göthe' but somwhere on the way it gets messed up to 'G%C3%83%C2%B6the'

  If only there was some kind of debugging mode which could tell you what's going on.

> Users without umlauts are working fine. I don't know, in which part exactly the things gets messed up. But I think this issue should lie anywhere between freeRadius and rlm_perl, because the first instance right after the Horizon Server is freeRadius and rlm_perl.

  FreeRADIUS does many things when it receives a request.  But people also change the local configuration.  So until we get some debug output, we have no idea.

  What I can say for absolute certainty is that the default configuration does not change umlauts for %-encoded data.

  I'd also check the Perl module you're using.  Any non-ASCII data sent to a web URL is usually URL encoded... with % and hex characters.  So it might not be anything in FreeRADIUS.

> Any ideas how to solve this issue? But removing/replacing umlauts is not an option.

  http://wiki.freeradius.org/list-help

  Alan DeKok.



More information about the Freeradius-Users mailing list