[asterisk-commits] kharwell: branch 11 r428332 - /branches/11/apps/app_confbridge.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Nov 20 09:42:05 CST 2014
Author: kharwell
Date: Thu Nov 20 09:42:01 2014
New Revision: 428332
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=428332
Log:
AST-2014-017 - app_confbridge: permission escalation/ class authorization.
Confbridge dialplan function permission escalation via AMI and inappropriate
class authorization on the ConfbridgeStartRecord action. The CONFBRIDGE dialplan
function when executed from an external protocol (for instance AMI), could
result in a privilege escalation. Also, the AMI action “ConfbridgeStartRecord”
could also be used to execute arbitrary system commands without first checking
for system access.
Asterisk now inhibits the CONFBRIDGE function from being executed from an
external interface if the live_dangerously option is set to no. Also, the
“ConfbridgeStartRecord” AMI action is now only allowed to execute under a
user with system level access.
ASTERISK-24490
Reported by: Gareth Palmer
Modified:
branches/11/apps/app_confbridge.c
Modified: branches/11/apps/app_confbridge.c
URL: http://svnview.digium.com/svn/asterisk/branches/11/apps/app_confbridge.c?view=diff&rev=428332&r1=428331&r2=428332
==============================================================================
--- branches/11/apps/app_confbridge.c (original)
+++ branches/11/apps/app_confbridge.c Thu Nov 20 09:42:01 2014
@@ -3189,7 +3189,7 @@
ast_log(LOG_ERROR, "Unable to load config. Not loading module.\n");
return AST_MODULE_LOAD_DECLINE;
}
- if ((ast_custom_function_register(&confbridge_function))) {
+ if ((ast_custom_function_register_escalating(&confbridge_function, AST_CFE_WRITE))) {
return AST_MODULE_LOAD_FAILURE;
}
if ((ast_custom_function_register(&confbridge_info_function))) {
@@ -3220,7 +3220,7 @@
res |= ast_manager_register_xml("ConfbridgeKick", EVENT_FLAG_CALL, action_confbridgekick);
res |= ast_manager_register_xml("ConfbridgeUnlock", EVENT_FLAG_CALL, action_confbridgeunlock);
res |= ast_manager_register_xml("ConfbridgeLock", EVENT_FLAG_CALL, action_confbridgelock);
- res |= ast_manager_register_xml("ConfbridgeStartRecord", EVENT_FLAG_CALL, action_confbridgestartrecord);
+ res |= ast_manager_register_xml("ConfbridgeStartRecord", EVENT_FLAG_SYSTEM, action_confbridgestartrecord);
res |= ast_manager_register_xml("ConfbridgeStopRecord", EVENT_FLAG_CALL, action_confbridgestoprecord);
res |= ast_manager_register_xml("ConfbridgeSetSingleVideoSrc", EVENT_FLAG_CALL, action_confbridgesetsinglevideosrc);
if (res) {
More information about the asterisk-commits
mailing list