package fuzion24.device.vulnerability.vulnerabilities.kernel; import android.content.Context; import java.util.ArrayList; import java.util.List; import fuzion24.device.vulnerability.util.CPUArch; import fuzion24.device.vulnerability.vulnerabilities.VulnerabilityTest; public class CVE_2014_3153 implements VulnerabilityTest { static { System.loadLibrary("cve-2014-3153"); } @Override public List<CPUArch> getSupportedArchitectures() { ArrayList<CPUArch> archs = new ArrayList<>(); archs.add(CPUArch.ARM); archs.add(CPUArch.ARM7); archs.add(CPUArch.ARM8); return archs; } @Override public String getCVEorID() { return "CVE-2014-3153"; } private native int checkFutex(); @Override public boolean isVulnerable(Context context) throws Exception { int checkVal = checkFutex(); if(checkVal == 22) { return false; }else if(checkVal == 14) { return true; }else { throw new Exception("Error running test. Errno: " + checkVal); } } }