security: Inhibit execution of privilege escalating functions
authorDavid M. Lee <dlee@digium.com>
Mon, 16 Dec 2013 19:11:51 +0000 (19:11 +0000)
committerDavid M. Lee <dlee@digium.com>
Mon, 16 Dec 2013 19:11:51 +0000 (19:11 +0000)
commit744556c01d6e28d4ae46c347f77edfb71778d924
treebc90f83b4ec9ef0eafb3d952076bf9ea24406366
parent00dcee2a640394ac0aae294396d96985c6c1aba1
security: Inhibit execution of privilege escalating functions

This patch allows individual dialplan functions to be marked as
'dangerous', to inhibit their execution from external sources.

A 'dangerous' function is one which results in a privilege escalation.
For example, if one were to read the channel variable SHELL(rm -rf /)
Bad Things(TM) could happen; even if the external source has only read
permissions.

Execution from external sources may be enabled by setting
'live_dangerously' to 'yes' in the [options] section of asterisk.conf.
Although doing so is not recommended.

Also, the ABI was changed to something more reasonable, since Asterisk
12 does not yet have a public release.

(closes issue ASTERISK-22905)
Review: http://reviewboard.digium.internal/r/432/
........

Merged revisions 403913 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 403917 from http://svn.asterisk.org/svn/asterisk/branches/11
........

Merged revisions 403959 from http://svn.asterisk.org/svn/asterisk/branches/12

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@403960 65c4cc65-6c06-0410-ace0-fbb531ad65f3
12 files changed:
README-SERIOUSLY.bestpractices.txt
UPGRADE-12.txt
configs/asterisk.conf.sample
funcs/func_db.c
funcs/func_env.c
funcs/func_lock.c
funcs/func_realtime.c
funcs/func_shell.c
include/asterisk/pbx.h
main/asterisk.c
main/pbx.c
main/tcptls.c