Friday, December 4, 2015

Between a Rock and a Hard Link

Posted by James Forshaw, File System Enthusiast

In a previous blog post I described some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 changes that Microsoft has made to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 handling of symbolic links from a sandboxed process. This has an impact on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 exploitation of privileged file overwrites for sandbox escapes. Windows does support anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r method of linking files togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r, Hard Links, which have some similar properties to file level symbolic links but also some downsides. Hard Links were not originally banned from a sandbox so given cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 right vulnerability we can still develop an exploit. Of course in some circumstances Hard Links can also be useful for exploiting some types of system level privilege escalation. This short blog post describes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pros and cons of Hard Links as an exploitation primitive and demonstrates its use in a real world vulnerability CVE-2015-4481. Also I’ll quickly show what’s changed after cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MS15-115 update, which breaks cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack from a sandboxed context.

NTFS Hard Links

Hard Links, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability to logically link a single file to multiple names on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same file system togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r, has been a feature of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Windows NTFS file system since it was originally designed. It was most likely added for POSIX compatibility. In Windows 2000 cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CreateHardlink API was introduced to allow a program to create cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se links in an official way from Windows applications.

Why are hard links useful for local privilege escalation? One type of vulnerability is exploited by a file planting attack, where a privilege service tries to write to a file in a known location. The most flexible approach is to use symbolic links but creating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se for single files reliably is tricky, especially now in sandboxed applications. To create file symbolic links on Windows you eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r need to control cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 entire directory to apply a Mount Point or you need to be an administrator to set a file level symbolic link. When you’re exploiting file writes to an arbitrary directory such as C:\ProgramData this is probably not achievable and if you already have administrator privileges it doesn’t really matter. So having cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability to drop a file which links to anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r file is a very useful primitive. If you can cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n get a privileged service to overwrite cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 target file it’ll cause corruption or in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ideal case privilege escalation.

Fortunately it looks like we don’t even need to write our own tool; since cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 release of Vista cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 command shell has an inbuilt command, MKLINK, which will create a hard link. All you need to do is pass cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 /H option. If we try and use this command we immediately come across a problem as shown in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following screenshot.

hardlink.PNG

We can create a link to a file we already control but we can’t create a link to a file we don’t have write access to. This completely removes any utility from a local EoP perspective, if we can only overwrite files we can already write to it isn’t much of a concern. We could stop right here and give up, but where’s cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fun in that. First let’s look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 actual implementation of CreateHardlink to see what privileges it’s asking for.

BOOL CreateHardLinkW(LPCWSTR lpFileName, LPCWSTR lpExistingFileName) {
 NTSTATUS status;
 OBJECT_ATTRIBUTES ObjectAttributes;  
 UNICODE_STRING ntname;
 UNICODE_STRING target;
 HANDLE FileHandle;

 if (!RtlDosPathNameToNtPathName_U(lpExistingFileName, &ntname))
   return FALSE;
 InitializeObjectAttributes(&ObjectAttributes, &ntname, ...);
 
 status = NtOpenFile(&FileHandle, SYNCHRONIZE | FILE_WRITE_ATTRIBUTES,
                 &ObjectAttributes, ...);
 if (status < 0)
   return FALSE;

 if (!RtlDosPathNameToNtPathName_U(lpFileName, &target))
   return FALSE;
     
 PFILE_LINK_INFORMATION LinkInfo = RtlAllocateHeap(target.Length + 16);
       
 memmove(LinkInfo->FileName, target.Buffer, target.Length);
 LinkInfo->ReplaceIfExisting = FALSE;
 LinkInfo->RootDirectory =  NULL;
 LinkInfo->FileNameLength = target.Length;
 status = NtSetInformationFile(FileHandle, LinkInfo,
             target.Length + 16, FileLinkInformation);
 if ( status < 0 )
   return FALSE;      
   
 return TRUE;
}

When cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 target file is opened cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 desired access is requesting FILE_WRITE_ATTRIBUTES, this kind of makes some sense, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re’s a hard link count in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file’s directory entry so perhaps we need to write to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 target file entry in some way? Still what would happen if we just open cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file for read, would it still work? As cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 call to ZwSetInformationFile with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 FileLinkInformation class is documented let’s just reimplement cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 function but not request write permissions when opening cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 linked to file.

Spoiler, if we try cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 new function it works without needing write access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 target file. This makes it much more useful. Of course if we’d just looked at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel implementation we’d have seen that we didn’t need any specific access rights to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file. In ZwSetInformationFile a call is made to ObReferenceObjectByHandle to get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 underlying file object. This takes a desired access parameter, which turns out to be 0 for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 FileLinkInformation information class. We don’t need to hold any access on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 target file at all, we just need a handle to it with any assigned permissions.

Not every case of file overwrite vulnerabilities can be exploited using hard links. The Win32 and standard C library APIs don’t provide many options to prevent cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack outside of requiring that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file doesn’t already exist. The MoveFile API is secure (as long as you don’t pass cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 MOVEFILE_COPY_ALLOWED flag to MoveFileEx which would simulate a copy operation) as it always replaces cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file entry.

So cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pros and cons of Hard Links are:

Pros

  • Can create a new hard link at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file level without privileges even in sandboxes (well, originally).

Cons

  • Must have write access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 directory where cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hard link will be placed, can’t just do it from a handle
  • Can only overwrite existing files which you can open for access, can’t create new files
  • Can’t redirect a MoveFile operation (except cross drive), but can redirect CopyFile.
  • Can only link to files on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same volume
  • Can’t link directories to each ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r

I’ve added an implementation of this technique to my Symbolic Link Testing Tools suite available in Github here.

Quick Exploit, Mozilla Maintenance Service

Let’s see this in a real world exploit; you can read up on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 issue in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Project Zero bug tracker here. The vulnerability was in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Mozilla Maintenance Service, which is installed by default. This is a system service which allows Mozilla applications such as Firefox to update without needing administrator privileges. One interesting feature of this service is it can be started by any user on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system and takes command line arguments to specify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 update process. This is in contrast to similar services for ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r products, which typically automatically update via cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Internet without cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user account being involved.

When an update process is started by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user application cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 service writes out a status log to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 directory C:\ProgramData\Mozilla\logs under cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 name maintenanceservice.log. This is interesting as ProgramData’s default permissions allow a normal user to create new files in its subdirectories. There is a problem, however: if we look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 permissions on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 logs directory (shown below), while any user can create a new file only cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 owner, through cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CREATOR OWNER SID, gets permission to delete it. This means we can’t just delete cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 log file and replace it with a hard link as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 owner is SYSTEM.

Log Security (1).png
Fortunately if we look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 code cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re’s a window of opportunity, before creating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 log file a call is made to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BackupOldLogs function. This function moves each log file to a new numbered log, this ends up freeing up cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 initial log directory entry for a brief window of time as shown below.  

Log Rotation.png
As we can create a new file in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 directory we can replace cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 log file directory entry with a hard link to an existing file we want to overwrite. The service will cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n open and write to that file entry as SYSTEM, which means we can overwrite many files on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system. While we can’t completely control cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 contents of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file that gets written, we can inject commands through cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 service’s command line (it doesn’t check for new-lines etc.). This at least gives us cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability to cause a local DoS on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system by overwriting a critical file, or we can replace certain script files such as Powershell modules, which could get executed in a privileged context and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 parser doesn’t care so much about garbage in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file. Ultimately in this case cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real issue was that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user could write to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 log directory, and this was changed to writing logs into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 service’s program files directory instead.

So What’s Changed?

I was originally going to describe this trick as a replacement for Symbolic Links inside a sandbox in my 44con presentation on Windows 10 security. Microsoft requested I send cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 slides, which I did for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir own interest. After reviewing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y felt cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fact that this was usable from a sandboxed context effectively gets around some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 restrictions cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y were adding regards Symbolic Links so asked me to not present cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 information. While I’d publicly disclosed this technique in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Maintenance Service issue (as well as a vulnerability in Adobe Reader CVE-2015-4446) and so pointed out cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 information was already available I did agree to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 redaction with a promise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y would fix it in a security bulletin.

That bulletin, MS15-115, came out in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 November patch releases and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 fix is referenced as CVE-2015-6113. The fix adds cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following code to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel’s NtSetInformationFile function.

ACCESS_MASK RequiredAccess = 0;

if (FileInformationClass == FileLinkInformation) {
 if (RtlIsSandboxedToken()) {
   RequiredAccess |= FILE_WRITE_ATTRIBUTES;
 }
}

// Will return STATUS_ACCESS_DENIED if we don't have access
ObReferenceObjectByHandle(FileHandle, RequiredAccess, ...);

This mitigates cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 issue in sandboxed processes as it now requires FILE_WRITE_ATTRIBUTES permission on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file handle, which matches with what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CreateHardLink function expects. This would fix cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 vulnerability in Adobe Reader but would do nothing for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Maintenance Service vulnerability.

Conclusions

Hopefully this blog at least gives you an idea of how to use Hard Links on Windows. It should also give you an impression that you should never trust cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 documented interfaces for an operating system to behave as documented. This technique can be used to exploit local system services that try and write known files to directories cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user can create files in, including things like ProgramData and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Windows Temp folder. Almost certainly cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r similar vulnerabilities that you could find.

It’s good to see MSRC again taking a practical approach to improving sandbox security by closing off known attack techniques. Keep looking for more changes that use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 RtlIsSandboxedToken API as time goes on.

Wednesday, November 18, 2015

Windows Sandbox Attack Surface Analysis

Posted by James Forshaw, Quartermaster of Tools

Analysing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack surface of user-mode sandboxed applications is a good way to hunt for elevation of privilege vulnerabilities. Much of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 task of enumerating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack surface could be done manually, but that’s a very tedious and error prone procedure. Obviously automating that process as much as possible is important both for initial analysis as well as detecting potential regressions.

TL;DR; I’ve released my tools I use internally to test out sandboxed code and determine cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 likely attack surface exposed to an attacker if a sandboxed process is compromised. You can get cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 source code from https://github.com/google/sandbox-attacksurface-analysis-tools. This blog post will describe a few common use cases so that you can use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m to do your own sandbox analysis.

Background

Writing a user-mode sandbox is a difficult challenge for various different reasons (see my  Shmoocon/Nullcon presentation I did this year for some examples, in fact I was planning on releasing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tools for Shmoocon but it didn’t happen in time). However in most user-mode implementations, such as Chrome, IE or Edge cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sandboxing is done through assigning a restrictive process token so that only a very small number of securable resources can be accessed, ideally no resources at all should be accessible.

An obvious example of a securable resource is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file system. We’d like to know, for example, which locations a sandboxed process can access for read and/or write. A well known tool which comes to mind is AccessChk from Sysinternals ( Microsoft cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se days). AccessChk allows us to enumerate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file system (as well as many of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 secured resources such as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 registry or object manager) but only tells you whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r you could write to a resource based on a user or group account. For example, running cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 command ‘accesschk.exe -w users c:\windows’ will show you what files or directories a process that runs with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 BUILTIN\Users group can access. However, that doesn’t really help us when it comes to a sandboxed application, which might have a restrictive token that results in a more complex access checking model.

For example, Chrome and Adobe Reader use Restricted Tokens to limit what resources cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sandboxed process can access; this changes how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 normal kernel access check works. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are Mandatory Integrity Labels, which also change what resources you can write to. You can summarise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 access check for a restricted token in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 below diagram.
Untitled drawing.png

And let’s not forget cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 introduction of LowBox tokens in Windows 8, which have a similar, but different access checks. And what if you mix both LowBox and restricted tokens? In general this is too complex to replicate accurately; fortunately, Windows provides a means of calculating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 granted access to a resource which allows us to to automate a lot of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 analysis of various different resources. For that reason I developed my own set of tools to do this which I’ve released as open-source under an Apache v2 license at https://github.com/google/sandbox-attacksurface-analysis-tools. In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 rest of this blog post I’ll describe some of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tools, giving simple examples of use and why you might want to use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m.

The Check* Tools

The core of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 suite is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Check* tools. Their purpose is to determine whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process token for a particular sandboxed application can be used to get access to a specific secured resource. For example CheckFileAccess will scan a given location on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file system comparing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Security Descriptor of a file or directory against cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process token and determine whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process would have read and/or write access.

The core to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 operation of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tools is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 AccessCheck function exposed by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Win32 APIs. This is actually a kernel system call, NtAccessCheck under cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 hood, and uses cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same algorithms as a normal access check performed during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 opening of an existing resource. Therefore we can be reasonably confident that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 result of operation would match what we’d be able to get access to. The AccessCheck function takes an impersonation token; in this case we’ll use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 primary token of a specified process (ideally sandboxed), convert it to an impersonation token, and pass cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Security Descriptor for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 resource we are interested in. We can cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n request cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel determines cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 maximum allowed permissions for that token.

The following table is a list of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 available tools for analysing different types of resources. They all take a command --pid parameter, which specifies cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 PID of a process to base cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security check on.

Name
Description
CheckDeviceAccess
Checks allowed access to Device Objects such as \Device\HarddiskVolume1
CheckFileAccess
Checks allowed access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file system.
CheckNetworkAccess
Checks allowed access to connecting or binding network sockets. This is for testing AppContainer lockdown.
CheckObjectManagerAccess
Checks allowed access to resources and directories in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 object manager namespace.
CheckProcessAccess
Checks allowed access to processes.
CheckRegistryAccess
Checks allowed access to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 registry.

For example if you want to check what files and directories a sandboxed process can write to on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 C: drive you can run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following command:
CheckFileAcccess -w -r -p C:\

The -w parameter specifies only display files or directories with at least one Write permission available (for example Write File, or Add File for directories, or a standard right such as Write DACL). The -r parameter performs cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 check recursively and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -p specifies cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 PID of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sandboxed process to test. It’s recommended to run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tool as an administrator as that ensures cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tool can recurse into as many directories as possible. If we do this for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Chrome GPU process we find some interesting entries such as being able to write to c:\ProgramData\Microsoft\Windows\DRM.

The CheckDeviceAccess tool deviates from most of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs as it has to actually attempt to open a device node while impersonating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sandboxed token. This is because while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device object itself might have a Security Descriptor, Windows devices by default are considered to be file systems. This means that if you have a device object with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 name \Device\Harddisk1 you can also try and access \Device\Harddisk1\SomeName and depending on how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device was registered it might be up to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 driver itself to enforce security when accessing SomeName. The only reliable way of determining whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r this is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 case for a particular device object is to just open cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 path and see if it works.

DeviceNameSpace.png

A simple example is just to recursively check all Device objects in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 object manager namespace using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 command:
CheckDeviceAccess -r -l -p \

The -l parameter will try and map cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device name to a symbolic link; this is quite useful for automatically named devices (which look like \Device\00000abc) as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 symbolic link is generally more descriptive. For cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Chrome renderer sandbox this simple command shows we can access devices such as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 NTFS file system driver and AFD (which is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 socket driver) but admittedly only if you access it through cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 namespace. Code running within cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Chrome renderer sandbox cannot open any Device object itself.

Of course not all Devices can be tested in this manner; by default, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tool tries to open DeviceName\Dummy but some drivers require a specific path name ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y won’t open (you can change Dummy using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 --suffix parameter). Still it gives you a quick list of drivers to go hunting for sandbox escape vulnerabilities.

And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Best of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Rest

Not all cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 tools in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 suite are for checking direct access checking, I’ll summarise a few of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r tools which you might find useful.

DumpProcessMitigations

This tool dumps a list of process mitigations which have been applied through cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 SetProcessMitigationPolicy API. This only works on Windows 8 and above. Examples of mitigations that could be enabled include Win32k Syscall Disable, Forced ASLR and Custom Font Disable. For example, to dump all processes with Win32k System Call Disable Policy run cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following command as an Administrator:
DumpProcessMitigations -t DisallowWin32kSystemCalls

EditSection

This is a GUI tool which allows you to view cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 contents of a shared memory section, modify it in a hex editor, and execute a couple of ways of corrupting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 section to test for trivial security issues. A section can be opened through its object name or via extracting handles from a running process. I developed this tool for investigating cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Chrome section issue I documented in my blog here.

sections.PNG

GetHandles

This is just a generic command line tool to dump open handles in all processes in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 system. While that in itself wouldn’t differentiate it from ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r similar tools already available (such as SysInternals Handle utility) it does have one interesting feature. You can group handles by certain properties such as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 address of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 kernel mode object. This allows you to find instances where an object is shared between two processes at different privilege levels (say between a browser process and its sandboxes tabs) which might allow for privilege escalation attacks to occur. For example running cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following command as an Administrator will dump cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 section objects shared between different Chrome processes.

GetHandles.exe -n chrome -t Section -g object -s partial

This will produce output similar to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following, which shows two section objects shared between different processes:
Object: FFFFC00128086060
11020/0x2B0C/chrome 4/0x4:              Section 00000006 (unknown)
10264/0x2818/chrome 15636/0x3D14:       Section 000F0007 (unknown)

Object: FFFFC00135F82A00
13644/0x354C/chrome 4/0x4:              Section 00000006 (unknown)
10264/0x2818/chrome 11956/0x2EB4:       Section 000F0007 (unknown)

There’s also cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 CommonObjects tool, which does a similar job but doesn’t have as many ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r features.

TokenViewer

This GUI tool allows you to inspect and manipulate access tokens as well as do some basic tests of what you can do with that token (such as opening files). You can eicá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r look at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 token for a specific process (or even open token handles inside those processes) or you can create ones using common APIs.

anonymous_token.PNG

Wrapup

Hopefully cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se tools will be useful for your own investigations into Windows sandboxes and finding exploitable attack surface. It’s open-source under a permissive license so I hope it benefit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security community and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 wider users at large. Still if you have any ideas or changes please consider contributing back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 original project.

Monday, November 2, 2015

Hack The Galaxy: Hunting Bugs in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Samsung Galaxy S6 Edge

Posted by Natalie Silvanovich, Planner of Bug Bashes

Recently, Project Zero researched a popular Android phone, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Samsung Galaxy S6 Edge. We discovered and reported 11 high-impact security issues as a result. This post discusses our motivations behind cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 research, our approach in looking for vulnerabilities on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device and what we learned by investigating it.

The majority of Android devices are not made by Google, but by external companies known as Original Equipment Manufacturers or OEMs which use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Android Open-Source Project (AOSP) as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 basis for mobile devices which cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y manufacture. OEMs are an important area for Android security research, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y introduce additional (and possibly vulnerable) code into Android devices at all privilege levels, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y decide cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 frequency of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security updates that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y provide for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir devices to carriers.

Having done some previous research on Google-made Nexus devices running AOSP, we wanted to see how different attacking an OEM device would be. In particular, we wanted to see how difficult finding bugs would be, what type of bugs we would find and whecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r mitigations in AOSP would make finding or exploiting bugs more difficult. We also wanted to see how quickly bugs would be resolved when we reported cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. We chose cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Samsung Galaxy S6 Edge, as it is a recent high-end device with a large number of users.

We decided to work togecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r on a single problem for a week, and see how much progress we could make on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Samsung device. To get our competitive spirits going, we decided to have a contest between cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 North American and European members of Project Zero, with a few extra participants from ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r Google security teams to make cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 teams even, giving a total of five participants on each side.

Each team worked on three challenges, which we feel are representative of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 security boundaries of Android that are typically attacked. They could also be considered components of an exploit chain that escalates to kernel privileges from a remote or local starting point.

  1. Gain remote access to contacts, photos and messages. More points were given for attacks that don’t require user interaction, and required fewer device identifiers.
  2. Gain access to contacts, photos, geolocation, etc. from an application installed from Play with no permissions
  3. Persist code execution across a device wipe, using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 access gained in parts 1 or 2

A week later, we had cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 results! A total of 11 issues were found in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Samsung device.

Samsung WifiHs20UtilityService path traversal

Perhaps cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most interesting issue found was CVE-2015-7888, discovered by Mark Brand. It is a directory traversal bug that allows a file to be written as system. There is a process running a system on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device that scans for a zip file in /sdcard/Download/cred.zip and unzips cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file. Unfortunately, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 API used to unzip cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file does not verify cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 file path, so it can be written in unexpected locations. On cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 version of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device we tested, this was trivially exploitable using cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Dalvik cache using a technique that has been used to exploit ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r directory traversal bugs, though an SELinux policy that prevents this specific exploitation technique has been pushed to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device since.

Samsung SecEmailComposer QUICK_REPLY_BACKGROUND permissions weakness

Anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r interesting and easy-to-exploit bug, CVE-2015-7889 was found in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Samsung Email client by James Forshaw. It is a lack of aucá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ntication in one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 client’s intent handlers. An unprivileged application can send a series of intents that causes cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user’s emails to be forwarded to anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r account. It is a very noisy attack, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 forwarded emails show up in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user’s sent folder, but it is still easy access to data that not even a privileged app should be able to access.

Samsung SecEmailUI script injection

James Forshaw and Matt Tait also found a script injection issue in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Samsung email client, CVE-2015-7893. This issue allows JavaScript embedded in a message to be executed in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 email client. It is somewhat unclear what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 worst-case impact of this issue is, but it certainly increases cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack surface of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 email client, as it would make JavaScript vulnerabilities in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Android WebView reachable remotely via email.

Driver Issues

There were three issues found in drivers on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device. CVE-2015-7890, found by Ian Beer, and CVE-2015-7892, found by Ben Hawkes, are buffer overflows in drivers that are accessible by processes that run as media. These could be used by bugs in media processing, such as libstagefright bugs, to escalate to kernel privileges. CVE-2015-7891, found by Lee Campbell of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Chrome Security Team is a concurrency issue, leading to memory corruption in a driver that could be used to escalate from any unprivileged application or code execution to kernel.

Image Parsing Issues

Five memory corruption issues on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device in Samsung-specific image processing by myself, Natalie Silvanovich. Two of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se issues, CVE-2015-7895 and CVE-2015-7898 occur when an image is opened in Samsung Gallery, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 three ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs, CVE-2015-7894, CVE-2015-7896 and CVE-2015-7897 occur during media scanning, which means that an image only needs to be downloaded to trigger cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se issues. They allow escalation to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 privileges of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Samsung Gallery app or cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 media scanning process.

Severity and Mitigations

Overall, we found a substantial number of high-severity issues, though cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re were some effective security measures on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device which slowed us down. The weak areas seemed to be device drivers and media processing. We found issues very quickly in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se areas through fuzzing and code review. It was also surprising that we found cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 three logic issues that are trivial to exploit. These types of issues are especially concerning, as cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 time to find, exploit and use cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 issue is very short.

SELinux made it more difficult to attack cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device. In particular, it made it more difficult to investigate certain bugs, and to determine cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device attack surface. Android disabling cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 setenforce command on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device made this even more difficult. That said, we found three bugs that would allow an exploit to disable SELinux, so it’s not an effective mitigation against every bug.

Reporting cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Issues

We reported cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se issues to Samsung soon after we discovered cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. They responded recently, stating that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y had fixed eight of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 issues in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir October Maintenance Release, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 remaining issues would be fixed in November. We greatly appreciate cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir efforts in patching cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se issues.

Testing for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 vulnerabilities on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same device we found cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m on, with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 most recent security update (G925VVRU4B0G9) applied confirmed this.

Issue
Status
Fixed
Fixed
Fixed
Fixed
Fixed
Unfixed
Fixed
Unfixed
Fixed
Fixed
Unfixed

The majority of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 issues are fixed, however three will not be patched until November. Fortunately, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se appear to be lower severity issues. CVE-2015-7898 and CVE-2015-7895 require an image to be opened in Samsung Gallery, which does not have especially high privileges and is not used by default to open images received remotely via email or SMS (so an exploit would require cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 user to manually download cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 image and open it in Gallery). The ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r unfixed issue, CVE-2015-7893 allows an attacker to execute JavaScript embedded in emails, which increases cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 attack surface of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 email client, but ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rwise has unclear impact.

Conclusion

A week of investigation showed that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re are a number of weak points in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Samsung Galaxy S6 Edge. Over cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 course of a week, we found a total of 11 issues with a serious security impact. Several issues were found in device drivers and image processing, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re were also some logic issues in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device that were high impact and easy-to-exploit.

The majority of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se issues were fixed on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 device we tested via an OTA update within 90 days, though three lower-severity issues remain unfixed. It is promising that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 highest severity issues were fixed and updated on-device in a reasonable time frame.