[asterisk-dev] Dialstring injection - security advisory release?
Russell Bryant
russell at digium.com
Thu Feb 11 17:34:37 CST 2010
On 02/11/2010 03:20 PM, Chris Lee wrote:
> If all variables are regarded as variables and not dialplan code then
> there is no problem.
> Why leave a potential security hole in the dialplan when it is possible
> to ensure that the dialplan does not act on code like elements of the
> variables.
This is practically impossible to implement.
What characters are "special" is entirely defined in the application.
The pbx core handles dialplan extension matching, variable and function
substitution, and application execution. All substitution is taken care
of before Dial() (or any other application is invoked).
So, there is no way for Dial() to have any idea how the string of
arguments it has received was generated, and there is absolutely no way
for the pbx core to know anything about how the string of arguments to
an application will be interpreted.
There really isn't much we can do in the core other than provide all of
the necessary tools to allow policy implementations by the dialplan writer.
Someone has suggested that we could blacklist the '&' character. Well,
sure, we could have an option to do that ... but that's really only one
example of the overall 'dialplan injection' vulnerability that we're
talking about. What about dialing "1234,,tT" to give yourself transfer
permissions? There are quite a number of possibilities.
--
Russell Bryant
Digium, Inc. | Engineering Manager, Open Source Software
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
www.digium.com -=- www.asterisk.org -=- blogs.asterisk.org
More information about the asterisk-dev
mailing list