dac25351e6
4 Commits
Author | SHA1 | Message | Date | |
---|---|---|---|---|
Peter Korsgaard
|
0b1583972d |
asterisk: security bump to version 14.7.6
Fixes the following security issues: AST-2018-002: Crash when given an invalid SDP media format description By crafting an SDP message with an invalid media format description Asterisk crashes when using the pjsip channel driver because pjproject's sdp parsing algorithm fails to catch the invalid media format description. AST-2018-003: Crash with an invalid SDP fmtp attribute By crafting an SDP message body with an invalid fmtp attribute Asterisk crashes when using the pjsip channel driver because pjproject's fmtp retrieval function fails to check if fmtp value is empty (set empty if previously parsed as invalid). AST-2018-004: Crash when receiving SUBSCRIBE request When processing a SUBSCRIBE request the res_pjsip_pubsub module stores the accepted formats present in the Accept headers of the request. This code did not limit the number of headers it processed despite having a fixed limit of 32. If more than 32 Accept headers were present the code would write outside of its memory and cause a crash. AST-2018-005: Crash when large numbers of TCP connections are closed suddenly A crash occurs when a number of authenticated INVITE messages are sent over TCP or TLS and then the connection is suddenly closed. This issue leads to a segmentation fault. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com> |
||
Peter Korsgaard
|
4f13dc362d |
asterisk: security bump to version 14.7.5
Fixes the following security issues: * AST-2017-014: Crash in PJSIP resource when missing a contact header A select set of SIP messages create a dialog in Asterisk. Those SIP messages must contain a contact header. For those messages, if the header was not present and using the PJSIP channel driver, it would cause Asterisk to crash. The severity of this vulnerability is somewhat mitigated if authentication is enabled. If authentication is enabled a user would have to first be authorized before reaching the crash point. For more details, see the announcement: https://www.asterisk.org/downloads/asterisk-news/asterisk-13185-1475-1515-and-1318-cert2-now-available-security Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
||
Peter Korsgaard
|
3f1d2c6c74 |
asterisk: security bump to version 14.6.2
Fixes the following security issues: 14.6.1: * AST-2017-005 (applied to all released versions): The "strictrtp" option in rtp.conf enables a feature of the RTP stack that learns the source address of media for a session and drops any packets that do not originate from the expected address. This option is enabled by default in Asterisk 11 and above. The "nat" and "rtp_symmetric" options for chan_sip and chan_pjsip respectively enable symmetric RTP support in the RTP stack. This uses the source address of incoming media as the target address of any sent media. This option is not enabled by default but is commonly enabled to handle devices behind NAT. A change was made to the strict RTP support in the RTP stack to better tolerate late media when a reinvite occurs. When combined with the symmetric RTP support this introduced an avenue where media could be hijacked. Instead of only learning a new address when expected the new code allowed a new source address to be learned at all times. If a flood of RTP traffic was received the strict RTPsupport would allow the new address to provide media and with symmetric RTP enabled outgoing traffic would be sent to this new address, allowing the media to be hijacked. Provided the attacker continued to send traffic they would continue to receive traffic as well. * AST-2017-006 (applied to all released versions): The app_minivm module has an “externnotify” program configuration option that is executed by the MinivmNotify dialplan application. The application uses the caller-id name and number as part of a built string passed to the OS shell for interpretation and execution. Since the caller-id name and number can come from an untrusted source, a crafted caller-id name or number allows an arbitrary shell command injection. * AST-2017-007 (applied only to 13.17.1 and 14.6.1): A carefully crafted URI in a From, To or Contact header could cause Asterisk to crash For more details, see the announcement: https://www.asterisk.org/downloads/asterisk-news/asterisk-11252-13171-1461-116-cert17-1313-cert5-now-available-security 14.6.2: * AST-2017-008: Insufficient RTCP packet validation could allow reading stale buffer contents and when combined with the “nat” and “symmetric_rtp” options allow redirecting where Asterisk sends the next RTCP report. The RTP stream qualification to learn the source address of media always accepted the first RTP packet as the new source and allowed what AST-2017-005 was mitigating. The intent was to qualify a series of packets before accepting the new source address. For more details, see the announcement: https://www.asterisk.org/downloads/asterisk-news/asterisk-11253-13172-1462-116-cert18-1313-cert6-now-available-security Drop 0004-configure-in-cross-complation-assimne-eventfd-are-av.patch as this is now handled differently upstream (by disabling eventfd for cross compilation, see commit 2e927990b3d2 (eventfd: Disable during cross compilation)). If eventfd support is needed then this should be submitted upstream. Signed-off-by: Peter Korsgaard <peter@korsgaard.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
||
Yann E. MORIN
|
05e306d8d3 |
package/asterisk: new package
Asterisk: the flagship of telephony on Linux. These are the lines of code whose continuous mission is to power small and large enterprises telephony systems, to boldly provide IP PBX where no one has done so before. But it is a hell to get compiled... :-( For starters, it needs a host tool, menuselect, to prepare its build configuration. Unfortunately, the way it handles menuselect does not apply very well for cross-compilation: the main ./configure calls out to menuselect's own ./configure, and of course that runs with the same environement, which is wrong for cross-compilation (because of variables like CC, CFLAGS and the likes). Furthermore, the paths to menuselect are imbricated about everywhere in the main Makefile, so making it find menuselect in PATH is a lost cause. Instead, we just patch-out the handling of menuselect, build it as the host variant and copy it in place. Now, asterisk wants to install a default set of sound files (for answering machine stuff, I guess). They come come pre-bundled in the official archive [0], but the buildsystem will want to download (at install time) the sha1 files for each sound archive, to validate that said archive is correct. However, the download is done via plain http, so it still risks an MITM attack. And for Buildroot, it is not always possible to download at install time, so we patch-out the sha1 check. [0] http://downloads.asterisk.org/pub/telephony/asterisk/releases/ The official archive contains the sound archives plus a full set of documentation. This makes it very big. Unfortunately, the hosting site is rather slow, topping at about ~204kbps. So we get the archive from the official mirror on Github. But that archive is missing the sound archives, so we download them separately. Some tests, like the crypt() one, are broken and could not have ever possibly worked at all. Worse, the FFmpeg test is looking for headers that FFmpeg removed more than 10 years ago and are virtually no longer available in any distro. So, FFmpeg support is definitely not tested by upstream and can't possibly work at all. Finally, trying to run test-code does not work in cross-compilation. As a final stroke of genius, asterisk checks for the re-entrant variant of res_ninit(), and concludes that all such functions are available, including res_nsearch(). Uclibc-ng has the former but not the latter, so the build fails. Since there is no cache variable for that check, we can't pre-feed that result to configure, and fixing it is a bigger endeavour. So we make asterisk depend on glibc for now, until someone is brave enough to fix it. Almost all features are disabled for now. Support for additional features will be added in subsequent patches now that we have a working base. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Romain Naour <romain.naour@openwide.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> [Arnout: - make libilbc a mandatory dependency instead of using the bundled one; - add license, license files, and license file hashes; - minor spelling corrections; - remove redundant trailing backslash reported by check-package; - rewrap help text to 72 columns instead of 68] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> fixup |