Activity log for bug #745129

Date Who What changed Old value New value Message
2011-03-29 17:40:47 Zubin Mithra bug added bug
2011-03-29 17:45:21 Zubin Mithra visibility private public
2011-03-29 17:46:23 Zubin Mithra description Binary package hint: avra There is a buffer overflow bug in avra1.2.3a which might lead to memory corruption, at the very most. Privilege escalation not any kind of local exploitation is expected as it runs with the privileges of the current user. Tracing the control flow during static analysis gives the following:- load_arg_defines has an `strcpy(buff, define->data)` where buff is declared as `char buff[256];`. In order to inspect the values of data, we look at `struct prog_info *pi`; or rather the `args` argument of `pi`. Memory is allocated for `args` in `alloc_args`(args.c) and values are set for it in `read_args`. Please note the lines:- if(args->arg[j].type != ARGTYPE_STRING_MULTISINGLE) args->arg[j].data = argv[++i]; Evidently, at some point, the value depends on command line input and this input can be used to overflow the `buff` array. Binary package hint: avra There is a buffer overflow bug in avra1.2.3a which might lead to memory corruption, at the very most. Privilege escalation nor any kind of local exploitation is expected as it runs with the privileges of the current user. Tracing the control flow during static analysis gives the following:- load_arg_defines has an `strcpy(buff, define->data)` where buff is declared as `char buff[256];`. In order to inspect the values of data, we look at `struct prog_info *pi`; or rather the `args` argument of `pi`. Memory is allocated for `args` in `alloc_args`(args.c) and values are set for it in `read_args`. Please note the lines:- if(args->arg[j].type != ARGTYPE_STRING_MULTISINGLE)     args->arg[j].data = argv[++i]; Evidently, at some point, the value depends on command line input and this input can be used to overflow the `buff` array.
2011-04-08 13:05:02 Marc Deslauriers avra (Ubuntu): status New Triaged