|Summary:||ASTERISK-11633: EXTEN gets printf-transformed when written to the logs|
|Reporter:||Steve Davies . (stevedavies)||Labels:|
|Date Opened:||2008-03-13 09:57:57||Date Closed:||2008-03-18 10:21:06|
|Description:||> [Mar 13 16:42:46] VERBOSE logger.c: [Mar 13 16:42:46] -- Executing [cIAX20.000000ctelpbx-10.0000005160@from-peer-voipconnect-internal:1] Set("IAX2/voipconnect_j1-24", "ds=IAX2/ctelpbx-1/5160") in new|
What is that crazy extension number? It should say cIAX2%2fctelpbx-1%2f5160 (which, I admit, is pretty odd too - its a URIENCODE()d channel address).
Looks like the log messages gets used as the "format" side of another printf, or something like that, and the %2f gets taken as a float format specifier.
|Comments:||By: Russell Bryant (russell) 2008-03-13 10:30:34|
Thanks for the report. This is actually a security vulnerability. Luckily, it only affects trunk ...
You just have to change
ast_log(LOG_VERBOSE, "%s", logmsg->str);
in ast_verbose() in main/logger.c.
By: Joshua C. Colp (jcolp) 2008-03-18 10:21:05
Fixed in trunk as of revision 109396 and 1.6.0 as of revision 109398.