Compare commits

...

16 Commits

Author SHA1 Message Date
Asterisk Autobuilder
8b8d8a305b Importing release summary for 11.15.1 release.
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.1@431335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2015-01-28 21:56:34 +00:00
Asterisk Autobuilder
81d0ad39be Merge r431297-431298 for 11.15.1
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.1@431329 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2015-01-28 21:36:48 +00:00
Asterisk Autobuilder
f32c078e52 Update .version; remove old summaries
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.1@431294 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2015-01-28 13:44:33 +00:00
Asterisk Autobuilder
8690c4ae22 Create 11.15.1 tag
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.1@431288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2015-01-28 13:34:34 +00:00
Asterisk Autobuilder
1153261939 Importing release summary for 11.15.0 release.
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0@429569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-15 15:28:51 +00:00
Asterisk Autobuilder
7e79fe7c37 Update .version; remove old summaries; update ChangeLog
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0@429566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-15 15:20:00 +00:00
Asterisk Autobuilder
8da3445961 Create 11.15.0
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0@429563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-15 15:10:41 +00:00
Asterisk Autobuilder
208bd34750 Importing release summary for 11.15.0-rc2 release.
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0-rc2@429322 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-10 14:59:38 +00:00
Asterisk Autobuilder
51c70eb85a Merge r429270 for AST-2014-019
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0-rc2@429315 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-10 14:40:27 +00:00
Asterisk Autobuilder
800d8d06cd Remove old summaries; update .version
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0-rc2@429312 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-10 14:35:25 +00:00
Asterisk Autobuilder
ae937f508a Create 11.15.0-rc2
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0-rc2@429309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-10 14:30:28 +00:00
Asterisk Autobuilder
d3b0e8ed7a Use autotagged externals
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0-rc1@429098 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-08 17:06:58 +00:00
Asterisk Autobuilder
b79be916dc Importing release summary for 11.15.0-rc1 release.
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0-rc1@429097 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-08 17:06:45 +00:00
Asterisk Autobuilder
56dd7cb72b Importing files for 11.15.0-rc1 release.
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0-rc1@429096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-08 17:06:32 +00:00
Asterisk Autobuilder
c786d91b18 Creating tag for the release of asterisk-11.15.0-rc1
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0-rc1@429095 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-08 17:03:19 +00:00
Asterisk Autobuilder
973ce10be6 Creating tag for the release of asterisk-11.15.0-rc1
git-svn-id: https://origsvn.digium.com/svn/asterisk/tags/11.15.0-rc1@429093 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2014-12-08 16:55:42 +00:00
6 changed files with 32604 additions and 0 deletions

1
.lastclean Normal file
View File

@@ -0,0 +1 @@
40

1
.version Normal file
View File

@@ -0,0 +1 @@
11.15.1

32364
ChangeLog Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,62 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Release Summary - asterisk-11.15.1</title></head>
<body>
<h1 align="center"><a name="top">Release Summary</a></h1>
<h3 align="center">asterisk-11.15.1</h3>
<h3 align="center">Date: 2015-01-28</h3>
<h3 align="center">&lt;asteriskteam@digium.com&gt;</h3>
<hr/>
<h2 align="center">Table of Contents</h2>
<ol>
<li><a href="#summary">Summary</a></li>
<li><a href="#contributors">Contributors</a></li>
<li><a href="#commits">Other Changes</a></li>
<li><a href="#diffstat">Diffstat</a></li>
</ol>
<hr/>
<a name="summary"><h2 align="center">Summary</h2></a>
<center><a href="#top">[Back to Top]</a></center><br/><p>This release has been made to address one or more security vulnerabilities that have been identified. A security advisory document has been published for each vulnerability that includes additional information. Users of versions of Asterisk that are affected are strongly encouraged to review the advisories and determine what action they should take to protect their systems from these issues.</p>
<p>Security Advisories: <a href="http://downloads.asterisk.org/pub/security/AST-2015-002.html">AST-2015-002</a></p>
<p>The data in this summary reflects changes that have been made since the previous release, asterisk-11.15.0.</p>
<hr/>
<a name="contributors"><h2 align="center">Contributors</h2></a>
<center><a href="#top">[Back to Top]</a></center><br/><p>This table lists the people who have submitted code, those that have tested patches, as well as those that reported issues on the issue tracker that were resolved in this release. For coders, the number is how many of their patches (of any size) were committed into this release. For testers, the number is the number of times their name was listed as assisting with testing a patch. Finally, for reporters, the number is the number of issues that they reported that were closed by commits that went into this release.</p>
<table width="100%" border="0">
<tr>
<td width="33%"><h3>Coders</h3></td>
<td width="33%"><h3>Testers</h3></td>
<td width="33%"><h3>Reporters</h3></td>
</tr>
<tr valign="top">
<td>
3 bebuild<br/>
</td>
<td>
</td>
<td>
</td>
</tr>
</table>
<hr/>
<a name="commits"><h2 align="center">Commits Not Associated with an Issue</h2></a>
<center><a href="#top">[Back to Top]</a></center><br/><p>This is a list of all changes that went into this release that did not directly close an issue from the issue tracker. The commits may have been marked as being related to an issue. If that is the case, the issue numbers are listed here, as well.</p>
<table width="100%" border="1">
<tr><td><b>Revision</b></td><td><b>Author</b></td><td><b>Summary</b></td><td><b>Issues Referenced</b></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/11.15.1?view=revision&revision=431288">431288</a></td><td>bebuild</td><td>Create 11.15.1 tag</td>
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/11.15.1?view=revision&revision=431294">431294</a></td><td>bebuild</td><td>Update .version; remove old summaries</td>
<td></td></tr><tr><td><a href="http://svn.digium.com/view/asterisk/tags/11.15.1?view=revision&revision=431329">431329</a></td><td>bebuild</td><td>Merge r431297-431298 for 11.15.1</td>
<td></td></tr></table>
<hr/>
<a name="diffstat"><h2 align="center">Diffstat Results</h2></a>
<center><a href="#top">[Back to Top]</a></center><br/><p>This is a summary of the changes to the source code that went into this release that was generated using the diffstat utility.</p>
<pre>
.version | 2
ChangeLog | 22 ++
asterisk-11.15.0-summary.html | 267 --------------------------------
asterisk-11.15.0-summary.txt | 342 ------------------------------------------
funcs/func_curl.c | 83 ++++++++++
5 files changed, 106 insertions(+), 610 deletions(-)
</pre><br/>
<hr/>
</body>
</html>

View File

@@ -0,0 +1,93 @@
Release Summary
asterisk-11.15.1
Date: 2015-01-28
<asteriskteam@digium.com>
----------------------------------------------------------------------
Table of Contents
1. Summary
2. Contributors
3. Other Changes
4. Diffstat
----------------------------------------------------------------------
Summary
[Back to Top]
This release has been made to address one or more security vulnerabilities
that have been identified. A security advisory document has been published
for each vulnerability that includes additional information. Users of
versions of Asterisk that are affected are strongly encouraged to review
the advisories and determine what action they should take to protect their
systems from these issues.
Security Advisories: AST-2015-002
The data in this summary reflects changes that have been made since the
previous release, asterisk-11.15.0.
----------------------------------------------------------------------
Contributors
[Back to Top]
This table lists the people who have submitted code, those that have
tested patches, as well as those that reported issues on the issue tracker
that were resolved in this release. For coders, the number is how many of
their patches (of any size) were committed into this release. For testers,
the number is the number of times their name was listed as assisting with
testing a patch. Finally, for reporters, the number is the number of
issues that they reported that were closed by commits that went into this
release.
Coders Testers Reporters
3 bebuild
----------------------------------------------------------------------
Commits Not Associated with an Issue
[Back to Top]
This is a list of all changes that went into this release that did not
directly close an issue from the issue tracker. The commits may have been
marked as being related to an issue. If that is the case, the issue
numbers are listed here, as well.
+------------------------------------------------------------------------+
| Revision | Author | Summary | Issues Referenced |
|----------+---------+-------------------------------+-------------------|
| 431288 | bebuild | Create 11.15.1 tag | |
|----------+---------+-------------------------------+-------------------|
| 431294 | bebuild | Update .version; remove old | |
| | | summaries | |
|----------+---------+-------------------------------+-------------------|
| 431329 | bebuild | Merge r431297-431298 for | |
| | | 11.15.1 | |
+------------------------------------------------------------------------+
----------------------------------------------------------------------
Diffstat Results
[Back to Top]
This is a summary of the changes to the source code that went into this
release that was generated using the diffstat utility.
.version | 2
ChangeLog | 22 ++
asterisk-11.15.0-summary.html | 267 --------------------------------
asterisk-11.15.0-summary.txt | 342 ------------------------------------------
funcs/func_curl.c | 83 ++++++++++
5 files changed, 106 insertions(+), 610 deletions(-)
----------------------------------------------------------------------

View File

@@ -50,6 +50,7 @@ ASTERISK_FILE_VERSION(__FILE__, "$Revision$")
#include "asterisk/app.h"
#include "asterisk/utils.h"
#include "asterisk/threadstorage.h"
#include "asterisk/test.h"
/*** DOCUMENTATION
<function name="CURL" language="en_US">
@@ -567,6 +568,31 @@ static void curl_instance_cleanup(void *data)
AST_THREADSTORAGE_CUSTOM(curl_instance, curl_instance_init, curl_instance_cleanup);
AST_THREADSTORAGE(thread_escapebuf);
/*!
* \brief Check for potential HTTP injection risk.
*
* CVE-2014-8150 brought up the fact that HTTP proxies are subject to injection
* attacks. An HTTP URL sent to a proxy contains a carriage-return linefeed combination,
* followed by a complete HTTP request. Proxies will handle this as two separate HTTP
* requests rather than as a malformed URL.
*
* libcURL patched this vulnerability in version 7.40.0, but we have no guarantee that
* Asterisk systems will be using an up-to-date cURL library. Therefore, we implement
* the same fix as libcURL for determining if a URL is vulnerable to an injection attack.
*
* \param url The URL to check for vulnerability
* \retval 0 The URL is not vulnerable
* \retval 1 The URL is vulnerable.
*/
static int url_is_vulnerable(const char *url)
{
if (strpbrk(url, "\r\n")) {
return 1;
}
return 0;
}
static int acf_curl_helper(struct ast_channel *chan, const char *cmd, char *info, char *buf, struct ast_str **input_str, ssize_t len)
{
struct ast_str *escapebuf = ast_str_thread_get(&thread_escapebuf, 16);
@@ -604,6 +630,11 @@ static int acf_curl_helper(struct ast_channel *chan, const char *cmd, char *info
AST_STANDARD_APP_ARGS(args, info);
if (url_is_vulnerable(args.url)) {
ast_log(LOG_ERROR, "URL '%s' is vulnerable to HTTP injection attacks. Aborting CURL() call.\n", args.url);
return -1;
}
if (chan) {
ast_autoservice_start(chan);
}
@@ -762,6 +793,54 @@ static struct ast_custom_function acf_curlopt = {
.write = acf_curlopt_write,
};
AST_TEST_DEFINE(vulnerable_url)
{
const char *bad_urls [] = {
"http://example.com\r\nDELETE http://example.com/everything",
"http://example.com\rDELETE http://example.com/everything",
"http://example.com\nDELETE http://example.com/everything",
"\r\nhttp://example.com",
"\rhttp://example.com",
"\nhttp://example.com",
"http://example.com\r\n",
"http://example.com\r",
"http://example.com\n",
};
const char *good_urls [] = {
"http://example.com",
"http://example.com/%5Cr%5Cn",
};
int i;
enum ast_test_result_state res = AST_TEST_PASS;
switch (cmd) {
case TEST_INIT:
info->name = "vulnerable_url";
info->category = "/funcs/func_curl/";
info->summary = "cURL vulnerable URL test";
info->description =
"Ensure that any combination of '\\r' or '\\n' in a URL invalidates the URL";
case TEST_EXECUTE:
break;
}
for (i = 0; i < ARRAY_LEN(bad_urls); ++i) {
if (!url_is_vulnerable(bad_urls[i])) {
ast_test_status_update(test, "String '%s' detected as valid when it should be invalid\n", bad_urls[i]);
res = AST_TEST_FAIL;
}
}
for (i = 0; i < ARRAY_LEN(good_urls); ++i) {
if (url_is_vulnerable(good_urls[i])) {
ast_test_status_update(test, "String '%s' detected as invalid when it should be valid\n", good_urls[i]);
res = AST_TEST_FAIL;
}
}
return res;
}
static int unload_module(void)
{
int res;
@@ -769,6 +848,8 @@ static int unload_module(void)
res = ast_custom_function_unregister(&acf_curl);
res |= ast_custom_function_unregister(&acf_curlopt);
AST_TEST_UNREGISTER(vulnerable_url);
return res;
}
@@ -786,6 +867,8 @@ static int load_module(void)
res = ast_custom_function_register(&acf_curl);
res |= ast_custom_function_register(&acf_curlopt);
AST_TEST_REGISTER(vulnerable_url);
return res;
}