On 3 July 2015 at 18:03, trondd <[email protected]> wrote:
> Crash from iked config parser with an invalid 'config' keyword.
>
> Example config:
> ikev2 "roadwarrior" esp \
>     from 123.123.123.123/32 to 0.0.0.0/0 \
>     peer 0.0.0.0/0 local 123.123.123.123 \
>     srcid 123.123.123.123 \
>     config address 123.123.123.100 \
>     config netmask 255.255.255.248 \
>     config nameserver 123.123.123.1 \
>     psk "you-should-not-use-psk-authentication!"
>
> Notice 'nameserver' instead of 'name-server'.  Seems any incorrect keyword
> value after config triggers the crash.
>
>
> (gdb) set args -nf /etc/iked.conf-crash
> (gdb) run
> Starting program: /sbin/iked -nf /etc/iked.conf-crash
> [New process 997]
>
> Program received signal SIGSEGV, Segmentation fault.
> strncmp (s1=0x87f3c413140 "nameserver", s2=0x1000003a9 <Address 0x1000003a9
> out of bounds>, n=10) at /usr/src/lib/libc/string/strncmp.c:41
> 41                      if (*s1 != *s2++)
> (gdb) bt
> #0  strncmp (s1=0x87f3c413140 "nameserver", s2=0x1000003a9 <Address
> 0x1000003a9 out of bounds>, n=10) at /usr/src/lib/libc/string/strncmp.c:41
> #1  0x0000087d07f5ff5e in parse_xf (name=0x87f3c413140 "nameserver",
> length=2, xfs=0x87d082c8120) at parse.y:2120
> #2  0x0000087d07f64923 in yyparse () at parse.y:487
> #3  0x0000087d07f655a2 in parse_config (filename=0x87f7af32560
> "/etc/iked.conf-crash", x_env=Variable "x_env" is not available.
> ) at parse.y:1473
> #4  0x0000087d07f3f755 in parent_configure (env=0x87f7af32560) at
> /usr/src/sbin/iked/iked.c:188
> #5  0x0000087d07f3fd8d in main (argc=Variable "argc" is not available.
> ) at /usr/src/sbin/iked/iked.c:173
>
>
> I am running:
> OpenBSD 5.7-current (GENERIC.MP) #3: Sun Jun 14 19:26:47 CDT 2015
>     [email protected]:/usr/src/sys/arch/amd64/compile/GENERIC.MP
>
> But with the iked code as of July 03.
>

hi,

thanks for the report.  it should be fixed in current.

Reply via email to