blob: 396eb13a2f3ff2937866e68db727612274020a09 [file] [log] [blame]
Danielle Robertsf6083ab2015-11-02 11:58:49 -08001page.title=Nexus Security Bulletin - August 2015
2@jd:body
3
4<!--
5 Copyright 2015 The Android Open Source Project
6
7 Licensed under the Apache License, Version 2.0 (the "License");
8 you may not use this file except in compliance with the License.
9 You may obtain a copy of the License at
10
11 http://www.apache.org/licenses/LICENSE-2.0
12
13 Unless required by applicable law or agreed to in writing, software
14 distributed under the License is distributed on an "AS IS" BASIS,
15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 See the License for the specific language governing permissions and
17 limitations under the License.
18-->
19
20<p><em>Published August 13, 2015</em></p>
21
22<p>We have released a security update to Nexus devices through an over-the-air
23(OTA) update as part of our Android Security Bulletin Monthly Release process.
24The Nexus firmware images have also been released to the <a href="https://developers.google.com/android/nexus/images">Google Developer site</a>. Builds LMY48I or later address these issues. Partners were notified about these
25issues on June 25, 2015 or earlier.</p>
26
27<p>The most severe of these issues is a Critical security vulnerability that could
28enable remote code execution on an affected device through multiple methods
29such as email, web browsing, and MMS when processing media files.</p>
30
31<h2 id=security_vulnerability_summary>Security Vulnerability Summary</h2>
32
33<p>The table below contains a list of security vulnerabilities, the Common
34Vulnerability and Exposures ID (CVE), and their assessed severity. The <a href="{@docRoot}security/overview/updates-resources.html#severity">severity assessment</a> is based on the effect that exploiting the vulnerability would have on an
35affected device, assuming the platform and service mitigations are disabled for
36development purposes or if successfully bypassed. </p>
37<table>
38 <tr>
39 <th>Issue </th>
40 <th>CVE</th>
41 <th>Severity</th>
42 </tr>
43 <tr>
44 <td>Integer overflows during MP4 atom processing</td>
45 <td>CVE-2015-1538</td>
46 <td>Critical</td>
47 </tr>
48 <tr>
49 <td>An integer underflow in ESDS processing</td>
50 <td>CVE-2015-1539</td>
51 <td>Critical</td>
52 </tr>
53 <tr>
54 <td>Integer overflow in libstagefright when parsing the MPEG4 tx3g atom</td>
55 <td>CVE-2015-3824</td>
56 <td>Critical</td>
57 </tr>
58 <tr>
59 <td>Integer underflow in libstagefright when processing MPEG4 covr atoms</td>
60 <td>CVE-2015-3827</td>
61 <td>Critical</td>
62 </tr>
63 <tr>
64 <td>Integer underflow in libstagefright if size is below 6 while processing 3GPP
65metadata</td>
66 <td>CVE-2015-3828</td>
67 <td>Critical</td>
68 </tr>
69 <tr>
70 <td>Integer overflow in libstagefright processing MPEG4 covr atoms when
71chunk_data_size is SIZE_MAX</td>
72 <td>CVE-2015-3829</td>
73 <td>Critical</td>
74 </tr>
75 <tr>
76 <td>Buffer overflow in Sonivox Parse_wave</td>
77 <td>CVE-2015-3836</td>
78 <td>Critical</td>
79 </tr>
80 <tr>
81 <td>Buffer overflows in libstagefright MPEG4Extractor.cpp</td>
82 <td>CVE-2015-3832</td>
83 <td>Critical</td>
84 </tr>
85 <tr>
86 <td>Buffer overflow in mediaserver BpMediaHTTPConnection</td>
87 <td>CVE-2015-3831</td>
88 <td>High</td>
89 </tr>
90 <tr>
91 <td>Vulnerability in libpng: Overflow in png_Read_IDAT_data</td>
92 <td>CVE-2015-0973</td>
93 <td>High</td>
94 </tr>
95 <tr>
96 <td>Remotely exploitable memcpy() overflow in p2p_add_device() in wpa_supplicant</td>
97 <td>CVE-2015-1863</td>
98 <td>High</td>
99 </tr>
100 <tr>
101 <td>Memory Corruption in OpenSSLX509Certificate Deserialization</td>
102 <td>CVE-2015-3837</td>
103 <td>High</td>
104 </tr>
105 <tr>
106 <td>Buffer overflow in mediaserver BnHDCP</td>
107 <td>CVE-2015-3834</td>
108 <td>High</td>
109 </tr>
110 <tr>
111 <td>Buffer overflow in libstagefright OMXNodeInstance::emptyBuffer</td>
112 <td>CVE-2015-3835</td>
113 <td>High</td>
114 </tr>
115 <tr>
116 <td>Heap overflow in mediaserver AudioPolicyManager::getInputForAttr()</td>
117 <td>CVE-2015-3842</td>
118 <td>High</td>
119 </tr>
120 <tr>
121 <td>Applications can intercept or emulate SIM commands to Telephony</td>
122 <td>CVE-2015-3843</td>
123 <td>High</td>
124 </tr>
125 <tr>
126 <td>Vulnerability in Bitmap unmarshalling</td>
127 <td>CVE-2015-1536</td>
128 <td>Moderate</td>
129 </tr>
130 <tr>
131 <td>AppWidgetServiceImpl can create IntentSender with system privileges</td>
132 <td>CVE-2015-1541</td>
133 <td>Moderate</td>
134 </tr>
135 <tr>
136 <td>Mitigation bypass of restrictions on getRecentTasks()</td>
137 <td>CVE-2015-3833</td>
138 <td>Moderate</td>
139 </tr>
140 <tr>
141 <td>ActivityManagerService.getProcessRecordLocked() may load a system UID
142application into the wrong process</td>
143 <td>CVE-2015-3844</td>
144 <td>Moderate</td>
145 </tr>
146 <tr>
147 <td>Unbounded buffer read in libstagefright while parsing 3GPP metadata</td>
148 <td>CVE-2015-3826</td>
149 <td>Low</td>
150 </tr>
151</table>
152
153
154<h2 id=mitigations>Mitigations</h2>
155
156
157<p>This is a summary of the mitigations provided by the <a href="{@docRoot}security/enhancements/index.html">Android security platform</a> and service protections such as SafetyNet. These capabilities reduce the
158likelihood that security vulnerabilities can be successfully exploited on
159Android.</p>
160
161<ul>
162 <li> Exploitation for many issues on Android is made more difficult by enhancements
163in newer versions of the Android platform. We encourage all users to update to
164the latest version of Android where possible.
165 <li> The Android Security team is actively monitoring for abuse with Verify Apps and
166SafetyNet which will warn about potentially harmful applications about to be
167installed. Device rooting tools are prohibited within Google Play. To protect
168users who install applications from outside of Google Play, Verify Apps is
169enabled by default and will warn users about known rooting applications. Verify
170Apps attempts to identify and block installation of known malicious
171applications that exploit a privilege escalation vulnerability. If such an
172application has already been installed, Verify Apps will notify the user and
173attempt to remove any such applications.
174 <li> As appropriate, Google has updated the Hangouts and Messenger applications so
175that media is not automatically passed to vulnerable processes (such as
176mediaserver.)
177</ul>
178
179<h2 id=acknowledgements>Acknowledgements</h2>
180
181
182<p>We would like to thank these researchers for their contributions:</p>
183
184<ul>
185 <li> Joshua Drake: CVE-2015-1538, CVE-2015-3826
186 <li> Ben Hawkes: CVE-2015-3836
187 <li> Alexandru Blanda: CVE-2015-3832
188 <li> Michał Bednarski: CVE-2015-3831, CVE-2015-3844, CVE-2015-1541
189 <li> Alex Copot: CVE-2015-1536
190 <li> Alex Eubanks: CVE-2015-0973
191 <li> Roee Hay and Or Peles: CVE-2015-3837
192 <li> Guang Gong: CVE-2015-3834
193 <li> Gal Beniamini: CVE-2015-3835
194 <li> Wish Wu*: CVE-2015-3842
195 <li> Artem Chaykin: CVE-2015-3843
196</ul>
197
198<p>*Wish is also our very first <a href="https://www.google.com/about/appsecurity/android-rewards/">Android Security Rewards</a> recipient!</p>
199
200<h3 id=integer_overflows_during_mp4_atom_processing>Integer overflows during MP4 atom processing</h3>
201
202
203<p>There are several potential integer overflows in libstagefright that could
204occur during MP4 atom processing, leading to memory corruption and potentially
205remote code execution as the mediaserver process.</p>
206
207<p>The affected functionality is provided as an application API and there are
208multiple applications that allow it to be reached with remote content, most
209notably MMS and browser playback of media.</p>
210
211<p>This issue is rated as a Critical severity due to the possibility of remote
212code execution as the privileged mediaserver service. While mediaserver is
213guarded with SELinux, it does have access to audio and video streams as well as
214access to privileged kernel driver device nodes on many devices that 3rd party
215apps cannot normally access. Note that under our previous severity rating
216guidelines, this was rated as a High severity vulnerability and was reported to
217partners as such. Under our new guidelines, published in June 2015, it is a
218Critical severity issue.</p>
219<table>
220 <tr>
221 <th>CVE</th>
222 <th>Bug(s) with AOSP links</th>
223 <th>Severity</th>
224 <th>Affected versions</th>
225 </tr>
226 <tr>
227 <td>CVE-2015-1538</td>
228 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/cf1581c66c2ad8c5b1aaca2e43e350cf5974f46d">ANDROID-20139950</a> [<a href="https://android.googlesource.com/platform/frameworks/av/+/2434839bbd168469f80dd9a22f1328bc81046398">2</a>]</td>
229 <td>Critical</td>
230 <td>5.1 and below</td>
231 </tr>
232</table>
233
234<h3 id=an_integer_underflow_in_esds_processing>An integer underflow in ESDS processing</h3>
235
236
237<p>There is a potential integer underflow in libstagefright that could occur
238during ESDS atom processing, leading to memory corruption and potentially
239remote code execution as the mediaserver process.</p>
240
241<p>The affected functionality is provided as an application API and there are
242multiple applications that allow it to be reached with remote content, most
243notably MMS and browser playback of media.</p>
244
245<p>This issue is rated as a Critical severity due to the possibility of remote
246code execution as the privileged mediaserver service. While mediaserver is
247guarded with SELinux, it does have access to audio and video streams as well as
248access to privileged kernel driver device nodes on many devices that 3rd party
249apps cannot normally access. Note that under our previous severity rating
250guidelines, this was rated as a High severity vulnerability and was reported to
251partners as such. Under our new guidelines, published in June 2015, it is a
252Critical severity issue.</p>
253<table>
254 <tr>
255 <th>CVE</th>
256 <th>Bug(s) with AOSP links</th>
257 <th>Severity</th>
258 <th>Affected versions</th>
259 </tr>
260 <tr>
261 <td>CVE-2015-1539</td>
262 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/5e751957ba692658b7f67eb03ae5ddb2cd3d970c">ANDROID-20139950</a></td>
263 <td>Critical</td>
264 <td>5.1 and below</td>
265 </tr>
266</table>
267
268
269<h3 id=integer_overflow_in_libstagefright_when_parsing_the_mpeg4_tx3g_atom>Integer overflow in libstagefright when parsing the MPEG4 tx3g atom</h3>
270
271
272<p>There is a potential integer overflow in libstagefright that could occur during
273MPEG4 tx3g data processing, leading to memory corruption and potentially remote
274code execution as the mediaserver process.</p>
275
276<p>The affected functionality is provided as an application API and there are
277multiple applications that allow it to be reached with remote content, most
278notably MMS and browser playback of media.</p>
279
280<p>This issue is rated as a Critical severity due to the possibility of remote
281code execution as the privileged mediaserver service. While mediaserver is
282guarded with SELinux, it does have access to audio and video streams as well as
283access to privileged kernel driver device nodes on many devices that 3rd party
284apps cannot normally access.</p>
285
286<p>Note that under our previous severity rating guidelines, this was rated as a
287High severity vulnerability and was reported to partners as such. Under our new
288guidelines, published in June 2015, it is a Critical severity issue.</p>
289<table>
290 <tr>
291 <th>CVE</th>
292 <th>Bug(s) with AOSP links</th>
293 <th>Severity</th>
294 <th>Affected versions</th>
295 </tr>
296 <tr>
297 <td>CVE-2015-3824</td>
298 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/463a6f807e187828442949d1924e143cf07778c6">ANDROID-20923261</a> </td>
299 <td>Critical</td>
300 <td>5.1 and below</td>
301 </tr>
302</table>
303
304
305<h3 id=integer_underflow_in_libstagefright_when_processing_mpeg4_covr_atoms>Integer underflow in libstagefright when processing MPEG4 covr atoms</h3>
306
307
308<p>There is a potential integer underflow in libstagefright that could occur
309during MPEG4 data processing, leading to memory corruption and potentially
310remote code execution as the mediaserver process.</p>
311
312<p>The affected functionality is provided as an application API and there are
313multiple applications that allow it to be reached with remote content, most
314notably MMS and browser playback of media.</p>
315
316<p>This issue is rated as a Critical severity due to the possibility of remote
317code execution as the privileged mediaserver service. While mediaserver is
318guarded with SELinux, it does have access to audio and video streams as well as
319access to privileged kernel driver device nodes on many devices that 3rd party
320apps cannot normally access.</p>
321
322<p>Note that under our previous severity rating guidelines, this was rated as a
323High severity vulnerability and was reported to partners as such. Under our new
324guidelines, published in June 2015, it is a Critical severity issue.</p>
325<table>
326 <tr>
327 <th>CVE</th>
328 <th>Bug(s) with AOSP links</th>
329 <th>Severity</th>
330 <th>Affected versions</th>
331 </tr>
332 <tr>
333 <td>CVE-2015-3827</td>
334 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/f4a88c8ed4f8186b3d6e2852993e063fc33ff231">ANDROID-20923261</a></td>
335 <td>Critical</td>
336 <td>5.1 and below</td>
337 </tr>
338</table>
339
340
341<h3 id=integer_underflow_in_libstagefright_if_size_is_below_6_while_processing_3gpp_metadata>Integer underflow in libstagefright if size is below 6 while processing 3GPP
342metadata</h3>
343
344
345<p>There is a potential integer underflow in libstagefright that could occur
346during 3GPP data processing, leading to memory corruption and potentially
347remote code execution as the mediaserver process.</p>
348
349<p>The affected functionality is provided as an application API and there are
350multiple applications that allow it to be reached with remote content, most
351notably MMS and browser playback of media.</p>
352
353<p>This issue is rated as a Critical severity due to the possibility of remote
354code execution as the privileged mediaserver service. While mediaserver is
355guarded with SELinux, it does have access to audio and video streams as well as
356access to privileged kernel driver device nodes on many devices that 3rd party
357apps cannot normally access. Note that under our previous severity rating
358guidelines, this was rated as a High severity vulnerability and was reported to
359partners as such. Under our new guidelines, published in June 2015, it is a
360Critical severity issue.</p>
361<table>
362 <tr>
363 <th>CVE</th>
364 <th>Bug(s) with AOSP links</th>
365 <th>Severity</th>
366 <th>Affected versions</th>
367 </tr>
368 <tr>
369 <td>CVE-2015-3828</td>
370 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/f4f7e0c102819f039ebb1972b3dba1d3186bc1d1">ANDROID-20923261</a></td>
371 <td>Critical</td>
372 <td>5.0 and above</td>
373 </tr>
374</table>
375
376
377<h3 id=integer_overflow_in_libstagefright_processing_mpeg4_covr_atoms_when_chunk_data_size_is_size_max>Integer overflow in libstagefright processing MPEG4 covr atoms when
378chunk_data_size is SIZE_MAX</h3>
379
380
381<p>There is a potential integer overflow in libstagefright that could occur during
382 MPEG4 covr data processing, leading to memory corruption and potentially
383remote code execution as the mediaserver process.</p>
384
385<p>The affected functionality is provided as an application API and there are
386multiple applications that allow it to be reached with remote content, most
387notably MMS and browser playback of media.</p>
388
389<p>This issue is rated as a Critical severity due to the possibility of remote
390code execution as the privileged mediaserver service. While mediaserver is
391guarded with SELinux, it does have access to audio and video streams as well as
392access to privileged kernel driver device nodes on many devices that 3rd party
393apps cannot normally access. Note that under our previous severity rating
394guidelines, this was rated as a High severity vulnerability and was reported to
395partners as such. Under our new guidelines, published in June 2015, it is a
396Critical severity issue.</p>
397<table>
398 <tr>
399 <th>CVE</th>
400 <th>Bug(s) with AOSP links</th>
401 <th>Severity</th>
402 <th>Affected versions</th>
403 </tr>
404 <tr>
405 <td>CVE-2015-3829</td>
406 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/2674a7218eaa3c87f2ee26d26da5b9170e10f859">ANDROID-20923261</a></td>
407 <td>Critical</td>
408 <td>5.0 and above</td>
409 </tr>
410</table>
411
412
413<h3 id=buffer_overflow_in_sonivox_parse_wave>Buffer overflow in Sonivox Parse_wave</h3>
414
415
416<p>There is a potential buffer overflow in Sonivox that could occur during XMF
417data processing, leading to memory corruption and potentially remote code
418execution as the mediaserver process.</p>
419
420<p>The affected functionality is provided as an application API and there are
421multiple applications that allow it to be reached with remote content, most
422notably MMS and browser playback of media.</p>
423
424<p>This issue is rated as a Critical severity due to the possibility of remote
425code execution as the privileged mediaserver service. While mediaserver is
426guarded with SELinux, it does have access to audio and video streams as well as
427access to privileged kernel driver device nodes on many devices that 3rd party
428apps cannot normally access. Note that under our previous severity rating
429guidelines, this was rated as a High severity vulnerability and was reported to
430partners as such. Under our new guidelines, published in June 2015, it is a
431Critical severity issue.</p>
432<table>
433 <tr>
434 <th>CVE</th>
435 <th>Bug(s) with AOSP links</th>
436 <th>Severity</th>
437 <th>Affected versions</th>
438 </tr>
439 <tr>
440 <td>CVE-2015-3836</td>
441 <td><a href="https://android.googlesource.com/platform/external/sonivox/+/e999f077f6ef59d20282f1e04786816a31fb8be6">ANDROID-21132860</a></td>
442 <td>Critical</td>
443 <td>5.1 and below</td>
444 </tr>
445</table>
446
447
448<h3 id=buffer_overflows_in_libstagefright_mpeg4extractor_cpp>Buffer overflows in libstagefright MPEG4Extractor.cpp</h3>
449
450
451<p>There are several buffer overflows in libstagefright that could occur during
452MP4 processing, leading to memory corruption and potentially remote code
453execution as the mediaserver process.</p>
454
455<p>The affected functionality is provided as an application API and there are
456multiple applications that allow it to be reached with remote content, most
457notably MMS and browser playback of media.</p>
458
459<p>This issue is rated as a Critical severity due to the possibility of remote
460code execution as the privileged mediaserver service. While mediaserver is
461guarded with SELinux, it does have access to audio and video streams as well as
462access to privileged kernel driver device nodes on many devices that 3rd party
463apps cannot normally access.</p>
464
465<p>Initially this issue was reported as a local exploit (not remotely accessible).
466Note that under our previous severity rating guidelines, this was rated as a
467Moderate severity vulnerability and was reported to partners as such. Under our
468new guidelines, published in June 2015, it is a Critical severity issue.</p>
469<table>
470 <tr>
471 <th>CVE</th>
472 <th>Bug(s) with AOSP links</th>
473 <th>Severity</th>
474 <th>Affected versions</th>
475 </tr>
476 <tr>
477 <td>CVE-2015-3832</td>
478 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/d48f0f145f8f0f4472bc0af668ac9a8bce44ba9b">ANDROID-19641538</a></td>
479 <td>Critical</td>
480 <td>5.1 and below</td>
481 </tr>
482</table>
483
484
485<h3 id=buffer_overflow_in_mediaserver_bpmediahttpconnection>Buffer overflow in mediaserver BpMediaHTTPConnection</h3>
486
487
488<p>There is is a potential buffer overflow in BpMediaHTTPConnection when
489processing data provided by another application, leading to memory corruption
490and potentially code execution as the mediaserver process.</p>
491
492<p>The affected functionality is provided as an application API. We don’t believe
493the issue is remotely exploitable.</p>
494
495<p>This issue is rated as a High severity due to the possibility of code execution
496as the privileged mediaserver service, from a local application. While
497mediaserver is guarded with SELinux, it does have access to audio and video
498streams as well as access to privileged kernel driver device nodes on many
499devices that 3rd party apps cannot normally access.</p>
500<table>
501 <tr>
502 <th>CVE</th>
503 <th>Bug(s) with AOSP links</th>
504 <th>Severity</th>
505 <th>Affected versions</th>
506 </tr>
507 <tr>
508 <td>CVE-2015-3831</td>
509 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/51504928746edff6c94a1c498cf99c0a83bedaed">ANDROID-19400722</a></td>
510 <td>High</td>
511 <td>5.0 and 5.1</td>
512 </tr>
513</table>
514
515
516<h3 id=vulnerability_in_libpng_overflow_in_png_read_idat_data>Vulnerability in libpng: Overflow in png_Read_IDAT_data</h3>
517
518
519<p>There is a potential buffer overflow that could occur in reading IDAT data
520within the png_read_IDAT_data() function in libpng, leading to memory
521corruption and potentially remote code execution within an application using
522this method.</p>
523
524<p>The affected functionality is provided as an application API. There may be
525applications that allow it to be reached with remote content, most notably
526messaging applications and browsers.</p>
527
528<p>This issue is rated as a High severity due to the possibility of remote code
529execution as an unprivileged application.</p>
530<table>
531 <tr>
532 <th>CVE</th>
533 <th>Bug(s) with AOSP links</th>
534 <th>Severity</th>
535 <th>Affected versions</th>
536 </tr>
537 <tr>
538 <td>CVE-2015-0973</td>
539 <td><a href="https://android.googlesource.com/platform/external/libpng/+/dd0ed46397a05ae69dc8c401f5711f0db0a964fa">ANDROID-19499430</a></td>
540 <td>High</td>
541 <td>5.1 and below</td>
542 </tr>
543</table>
544
545
546<h3 id=remotely_exploitable_memcpy_overflow_in_p2p_add_device_in_wpa_supplicant>Remotely exploitable memcpy() overflow in p2p_add_device() in wpa_supplicant</h3>
547
548
549<p>When wpa_supplicant is operating in WLAN Direct mode, it's vulnerable to
550potential remote code execution due to an overflow in the p2p_add_device()
551method. Successful exploitation could result in code execution as the 'wifi'
552user in Android.</p>
553
554<p>There are several mitigations that can effect successful exploitation of this
555issue:</p>
556
557<p>- WLAN Direct is not enabled by default on most Android devices</p>
558
559<p>- Exploitation requires an attacker to be locally proximate (within WiFi range)</p>
560
561<p>- The wpa_supplicant process runs as the 'wifi' user which has limited access
562to the system</p>
563
564<p>- Remote exploitation is mitigated by ASLR on Android 4.1 and later devices.</p>
565
566<p>- The wpa_supplicant process is tightly constrained by SELinux policy on
567Android 5.0 and greater</p>
568
569<p>This issue is rated as High severity due to the possibility of remote code
570execution. While the 'wifi' service does have capabilities that are not
571normally accessible to 3rd party apps which could rate this as Critical, we
572believe the limited capabilities and level of mitigation warrant decreasing the
573severity to High.</p>
574<table>
575 <tr>
576 <th>CVE</th>
577 <th>Bug(s) with AOSP links</th>
578 <th>Severity</th>
579 <th>Affected versions</th>
580 </tr>
581 <tr>
582 <td>CVE-2015-1863</td>
583 <td><a href="https://android.googlesource.com/platform/external/wpa_supplicant_8/+/4cf0f2d0d869c35a9ec4432861d5efa8ead4279c">ANDROID-20076874</a></td>
584 <td>High</td>
585 <td>5.1 and below</td>
586 </tr>
587</table>
588
589
590<h3 id=memory_corruption_in_opensslx509certificate_deserialization>Memory Corruption in OpenSSLX509Certificate Deserialization</h3>
591
592
593<p>A malicious local application can send an Intent which, when deserialized by
594the receiving application, can decrement a value at an arbitrary memory
595address, leading to memory corruption and potentially code execution within the
596receiving application.</p>
597
598<p>This issue is rated as High severity because it can be used to gain privileges
599not accessible to a third-party application.</p>
600<table>
601 <tr>
602 <th>CVE</th>
603 <th>Bug(s) with AOSP links</th>
604 <th>Severity</th>
605 <th>Affected versions</th>
606 </tr>
607 <tr>
608 <td>CVE-2015-3837</td>
609 <td><a href="https://android.googlesource.com/platform/external/conscrypt/+/edf7055461e2d7fa18de5196dca80896a56e3540">ANDROID-21437603</a></td>
610 <td>High</td>
611 <td>5.1 and below</td>
612 </tr>
613</table>
614
615
616<h3 id=buffer_overflow_in_mediaserver_bnhdcp>Buffer overflow in mediaserver BnHDCP</h3>
617
618
619<p>There is is a potential integer overflow in libstagefright when processing data
620provided by another application, leading to memory (heap) corruption and
621potentially code execution as the mediaserver process.</p>
622
623<p>This issue is rated as High severity because it can be used to gain privileges
624not accessible to a third-party application. While mediaserver is guarded with
625SELinux, it does have access to audio and video streams as well as access to
626privileged kernel driver device nodes on many devices that 3rd party apps
627cannot normally access.</p>
628
629<p>Note that under our previous severity rating guidelines, this was rated as a
630Moderate severity vulnerability and was reported to partners as such. Under our
631new guidelines, published in June 2015, it is a High severity vulnerability.</p>
632<table>
633 <tr>
634 <th>CVE</th>
635 <th>Bug(s) with AOSP links</th>
636 <th>Severity</th>
637 <th>Affected versions</th>
638 </tr>
639 <tr>
640 <td>CVE-2015-3834</td>
641 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/c82e31a7039a03dca7b37c65b7890ba5c1e18ced">ANDROID-20222489</a></td>
642 <td>High</td>
643 <td>5.1 and below</td>
644 </tr>
645</table>
646
647
648<h3 id=buffer_overflow_in_libstagefright_omxnodeinstance_emptybuffer>Buffer overflow in libstagefright OMXNodeInstance::emptyBuffer</h3>
649
650
651<p>There is is a potential buffer overflow in libstagefright when processing data
652provided by another application, leading to memory corruption and potentially
653code execution as the mediaserver process.</p>
654
655<p>This issue is rated as High severity because it can be used to gain privileges
656not accessible to a third-party application. While mediaserver is guarded with
657SELinux, it does have access to audio and video streams as well as access to
658privileged kernel driver device nodes on many devices that 3rd party apps
659cannot normally access.</p>
660
661<p>Note that under our previous severity rating guidelines, this was rated as a
662Moderate severity vulnerability and was reported to partners as such. Under our
663new guidelines, published in June 2015, it is a High severity vulnerability.</p>
664<table>
665 <tr>
666 <th>CVE</th>
667 <th>Bug(s) with AOSP links</th>
668 <th>Severity</th>
669 <th>Affected versions</th>
670 </tr>
671 <tr>
672 <td>CVE-2015-3835</td>
673 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/086d84f45ab7b64d1a7ed7ac8ba5833664a6a5ab">ANDROID-20634516</a> [<a href="https://android.googlesource.com/platform/frameworks/av/+/3cb1b6944e776863aea316e25fdc16d7f9962902">2</a>]</td>
674 <td>High</td>
675 <td>5.1 and below</td>
676 </tr>
677</table>
678
679
680<h3 id=heap_overflow_in_mediaserver_audiopolicymanager_getinputforattr>Heap overflow in mediaserver AudioPolicyManager::getInputForAttr()</h3>
681
682
683<p>There is a heap overflow in mediaserver's Audio Policy Service that could allow
684a local application to execute arbitrary code in mediaserver's process.</p>
685
686<p>The affected functionality is provided as an application API. We don’t
687believe the issue is remotely exploitable.</p>
688
689<p>This issue is rated as a High severity due to the possibility of code execution
690as the privileged mediaserver service, from a local application. While
691mediaserver is guarded with SELinux, it does have access to audio and video
692streams as well as access to privileged kernel driver device nodes on many
693devices that 3rd party apps cannot normally access.</p>
694<table>
695 <tr>
696 <th>CVE</th>
697 <th>Bug(s) with AOSP links</th>
698 <th>Severity</th>
699 <th>Affected versions</th>
700 </tr>
701 <tr>
702 <td>CVE-2015-3842</td>
703 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/aeea52da00d210587fb3ed895de3d5f2e0264c88">ANDROID-21953516</a></td>
704 <td>High</td>
705 <td>5.1 and below</td>
706 </tr>
707</table>
708
709
710<h3 id=applications_can_intercept_or_emulate_sim_commands_to_telephony>Applications can intercept or emulate SIM commands to Telephony</h3>
711
712
713<p>There is a vulnerability in the SIM Toolkit (STK) framework that could allow
714apps to intercept or emulate certain STK SIM commands to Android's Telephony
715subsystem.</p>
716
717<p>This issue is rated at a High severity because it could allow an unprivileged
718app to access capabilities or data normally protected by a "signature" or
719"system" level permission.</p>
720<table>
721 <tr>
722 <th>CVE</th>
723 <th>Bug(s) with AOSP links</th>
724 <th>Severity</th>
725 <th>Affected versions</th>
726 </tr>
727 <tr>
728 <td>CVE-2015-3843</td>
729 <td><a href="https://android.googlesource.com/platform/frameworks/opt/telephony/+/b48581401259439dc5ef6dcf8b0f303e4cbefbe9">ANDROID-21697171</a> [<a href="https://android.googlesource.com/platform/packages/apps/Stk/+/1d8e00160c07ae308e5b460214eb2a425b93ccf7">2</a>, <a href="https://android.googlesource.com/platform/frameworks/base/+/a5e904e7eb3aaec532de83ca52e24af18e0496b4">3</a>, <a href="https://android.googlesource.com/platform/packages/services/Telephony/+/fcb1d13c320dd1a6350bc7af3166929b4d54a456">4</a>]</td>
730 <td>High</td>
731 <td>5.1 and below</td>
732 </tr>
733</table>
734
735
736<h3 id=vulnerability_in_bitmap_unmarshalling>Vulnerability in Bitmap unmarshalling</h3>
737
738
739<p>An integer overflow in Bitmap_createFromParcel() could allow an app to either
740crash the system_server process or read memory data from system_server.</p>
741
742<p>This issue is rated as Moderate severity due to the possibility of leaking
743sensitive data from the system_server process to an unprivileged local process.
744While this type of vulnerability would normally be rated as High severity, the
745severity has been reduced because the data that is leaked in a successful
746attack cannot be controlled by the attacking process and the consequence of an
747unsuccessful attack is to render the device temporarily unusable (requiring a
748reboot).</p>
749<table>
750 <tr>
751 <th>CVE</th>
752 <th>Bug(s) with AOSP links</th>
753 <th>Severity</th>
754 <th>Affected versions</th>
755 </tr>
756 <tr>
757 <td>CVE-2015-1536</td>
758 <td><a href="https://android.googlesource.com/platform/frameworks/base/+/d44e5bde18a41beda39d49189bef7f2ba7c8f3cb">ANDROID-19666945</a></td>
759 <td>Moderate</td>
760 <td>5.1 and below</td>
761 </tr>
762</table>
763
764
765<h3 id=appwidgetserviceimpl_can_create_intentsender_with_system_privileges>AppWidgetServiceImpl can create IntentSender with system privileges</h3>
766
767
768<p>There is a vulnerability in AppWidgetServiceImpl in the Settings app that
769allows an app to grant itself a URI permission by specifying
770FLAG_GRANT_READ/WRITE_URI_PERMISSION. For example, this could be exploited to
771read contact data without the READ_CONTACTS permission.</p>
772
773<p>This is rated as a Moderate severity vulnerability because it can allow a local
774app to access data normally protected by permissions with a "dangerous"
775protection level.</p>
776<table>
777 <tr>
778 <th>CVE</th>
779 <th>Bug(s) with AOSP links</th>
780 <th>Severity</th>
781 <th>Affected versions</th>
782 </tr>
783 <tr>
784 <td>CVE-2015-1541 </td>
785 <td><a href="https://android.googlesource.com/platform/frameworks/base/+/0b98d304c467184602b4c6bce76fda0b0274bc07">ANDROID-19618745</a></td>
786 <td>Moderate</td>
787 <td>5.1 </td>
788 </tr>
789</table>
790
791
792<h3 id=mitigation_bypass_of_restrictions_on_getrecenttasks>Mitigation bypass of restrictions on getRecentTasks()</h3>
793
794
795<p>A local application can reliably determine the foreground application,
796circumventing the getRecentTasks() restriction introduced in Android 5.0.</p>
797
798<p>This is rated as a moderate severity vulnerability because it can allow a local
799app to access data normally protected by permissions with a "dangerous"
800protection level.</p>
801
802<p>We believe this vulnerability was first described publicly at:<a href="http://stackoverflow.com/questions/24625936/getrunningtasks-doesnt-work-in-android-l">http://stackoverflow.com/questions/24625936/getrunningtasks-doesnt-work-in-android-l</a></p>
803<table>
804 <tr>
805 <th>CVE</th>
806 <th>Bug(s) with AOSP links</th>
807 <th>Severity</th>
808 <th>Affected versions</th>
809 </tr>
810 <tr>
811 <td>CVE-2015-3833 </td>
812 <td><a href="https://android.googlesource.com/platform/frameworks/base/+/aaa0fee0d7a8da347a0c47cef5249c70efee209e">ANDROID-20034603</a></td>
813 <td>Moderate</td>
814 <td>5.0 and 5.1 </td>
815 </tr>
816</table>
817
818
819<h3 id=activitymanagerservice_getprocessrecordlocked_may_load_a_system_uid_application_into_the_wrong_process>ActivityManagerService.getProcessRecordLocked() may load a system UID
820application into the wrong process</h3>
821
822
823<p>ActivityManager's getProcessRecordLocked() method doesn't properly verify that
824an application's process name matches the corresponding package name. In some
825cases, this can allow ActivityManager to load the wrong process for certain
826tasks.</p>
827
828<p>The implications are that an app can prevent Settings from being loaded or
829inject parameters for Settings fragments. We don't believe that this
830vulnerability can be used to execute arbitrary code as the "system" user.</p>
831
832<p>While the ability to access capabilities normally only accessible to "system"
833would be rated as a High severity, we rated this one as a Moderate due to the
834limited level of access granted by the vulnerability.</p>
835<table>
836 <tr>
837 <th>CVE</th>
838 <th>Bug(s) with AOSP links</th>
839 <th>Severity</th>
840 <th>Affected versions</th>
841 </tr>
842 <tr>
843 <td>CVE-2015-3844 </td>
844 <td><a href="https://android.googlesource.com/platform/frameworks/base/+/e3cde784e3d99966f313fe00dcecf191f6a44a31">ANDROID-21669445</a></td>
845 <td>Moderate</td>
846 <td>5.1 and below</td>
847 </tr>
848</table>
849
850
851<h3 id=unbounded_buffer_read_in_libstagefright_while_parsing_3gpp_metadata>Unbounded buffer read in libstagefright while parsing 3GPP metadata</h3>
852
853
854<p>An integer underflow during parsing of 3GPP data can result in a read operation
855overrunning a buffer, causing mediaserver to crash.</p>
856
857<p>This issue was originally rated as a High severity and was reported to partners
858as such, but after further investigation it has been downgraded to Low severity
859as the impact is limited to crashing mediaserver.</p>
860<table>
861 <tr>
862 <th>CVE</th>
863 <th>Bug(s) with AOSP links</th>
864 <th>Severity</th>
865 <th>Affected versions</th>
866 </tr>
867 <tr>
868 <td>CVE-2015-3826</td>
869 <td><a href="https://android.googlesource.com/platform/frameworks/av/+/f4f7e0c102819f039ebb1972b3dba1d3186bc1d1">ANDROID-20923261</a></td>
870 <td>Low</td>
871 <td>5.0 and 5.1</td>
872 </tr>
873</table>
874
875
876<h2 id=revisions>Revisions</h2>
877
878
879<ul>
880 <li> August 13, 2015: Originally Published