[asterisk-commits] mmichelson: trunk r108529 - /trunk/main/manager.c
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Thu Mar 13 15:59:01 CDT 2008
Author: mmichelson
Date: Thu Mar 13 15:59:00 2008
New Revision: 108529
URL: http://svn.digium.com/view/asterisk?view=rev&rev=108529
Log:
Fixing a potential buffer overflow in the manager command ModuleCheck.
Though this overflow is exploitable remotely, we are NOT issuing a security
advisory for this since in order to exploit the overflow, the attacker would
have to establish an authenticated manager session AND have the system privilege.
By gaining this privilege, the attacker already has more powerful weapons at his
disposal than overflowing a buffer with a malformed manager header, so the vulnerability
in this case really lies with the authentication method that allowed the attacker to
gain the system privilege in the first place.
Modified:
trunk/main/manager.c
Modified: trunk/main/manager.c
URL: http://svn.digium.com/view/asterisk/trunk/main/manager.c?view=diff&rev=108529&r1=108528&r2=108529
==============================================================================
--- trunk/main/manager.c (original)
+++ trunk/main/manager.c Thu Mar 13 15:59:00 2008
@@ -2634,14 +2634,14 @@
} else {
cut = filename + strlen(filename);
}
- sprintf(cut, ".so");
+ snprintf(cut, sizeof(filename) - cut - 1, ".so");
ast_log(LOG_DEBUG, "**** ModuleCheck .so file %s\n", filename);
res = ast_module_check(filename);
if (!res) {
astman_send_error(s, m, "Module not loaded");
return 0;
}
- sprintf(cut, ".c");
+ snprintf(cut, sizeof(filename) - cut - 1, ".c");
ast_log(LOG_DEBUG, "**** ModuleCheck .c file %s\n", filename);
version = ast_file_version_find(filename);
More information about the asterisk-commits
mailing list