[Exim] Reproduciable crash (plaintext authenticator?)

Top Page
Delete this message
Reply to this message
Author: Alexander Sabourenkov
Date:  
To: exim-users
Subject: [Exim] Reproduciable crash (plaintext authenticator?)
Hello.

I have both AUTH PLAIN and AUTH LOGIN configured.

The following transaction results in SIGSEGV on at least 4.10, 4.12 and 4.14:

220 XXX.XXX.XXX ESMTP Exim 4.14 Wed, 19 Mar 2003 14:11:04 +0300
ehlo tararam
250-XXX.XXX.XXX Hello tararam [XXX.XXX.XXX.XXX]
250-SIZE 52428800
250-PIPELINING
250-AUTH LOGIN PLAIN
250 HELP
AUTH PLAIN dGVzdAB0ZXN0AHRlc3QxMjM=
535 Incorrect authentication data
AUTH LOGIN =
334 UGFzc3dvcmQ6
*
Connection closed by foreign host.


ktrace/kdump:

  54400 exim-4.14-mini CALL  read(0x2,0x80db000,0x2000)
  54400 exim-4.14-mini GIO   fd 2 read 14 bytes
        "AUTH LOGIN =\r
        "
  54400 exim-4.14-mini RET   read 14/0xe
  54400 exim-4.14-mini CALL  setitimer(0,0xbfbff0d4,0xbfbff0c4)
  54400 exim-4.14-mini RET   setitimer 0
  54400 exim-4.14-mini CALL  write(0x1,0x80e1000,0x12)
  54400 exim-4.14-mini GIO   fd 1 wrote 18 bytes
        "334 UGFzc3dvcmQ6\r
        "
  54400 exim-4.14-mini RET   write 18/0x12
  54400 exim-4.14-mini CALL  setitimer(0,0xbfbff094,0xbfbff084)
  54400 exim-4.14-mini RET   setitimer 0
  54400 exim-4.14-mini CALL  read(0x2,0x80db000,0x2000)
  54400 exim-4.14-mini GIO   fd 2 read 3 bytes
        "*\r
        "
  54400 exim-4.14-mini RET   read 3
  54400 exim-4.14-mini CALL  setitimer(0,0xbfbff084,0xbfbff074)
  54400 exim-4.14-mini RET   setitimer 0
  54400 exim-4.14-mini PSIG  SIGSEGV SIG_DFL


Authenticators configured as follows:

login:
    driver = plaintext
    public_name = LOGIN
    server_prompts = "Username:: : Password::"
    server_condition = "${if pwcheck{$1:$2}{1}{0}}"
    server_set_id = $1


plainns:
    driver = plaintext
    public_name = PLAIN
    server_condition = "${if pwcheck{$2:$3}{1}{0}}"
    server_set_id = $2



Now compiling exim in debug mode to investigate further.

--

./lxnt