The product does not properly verify that the source of data or communication is valid.
N/A
Threat Mapped score: 1.8
Industry: Finiancial
Threat priority: P4 - Informational (Low)
CVE: CVE-2000-1218
DNS server can accept DNS updates from hosts that it did not query, leading to cache poisoning
CVE: CVE-2005-0877
DNS server can accept DNS updates from hosts that it did not query, leading to cache poisoning
CVE: CVE-2001-1452
DNS server caches glue records received from non-delegated name servers
CVE: CVE-2005-2188
user ID obtained from untrusted source (URL)
CVE: CVE-2003-0174
LDAP service does not verify if a particular attribute was set by the LDAP server
CVE: CVE-1999-1549
product does not sufficiently distinguish external HTML from internal, potentially dangerous HTML, allowing bypass using special strings in the page title. Overlaps special elements.
CVE: CVE-2003-0981
product records the reverse DNS name of a visitor in the logs, allowing spoofing and resultant XSS.
Phase | Note |
---|---|
Architecture and Design | N/A |
Implementation | REALIZATION: This weakness is caused during implementation of an architectural security tactic. |
Intro: This Android application will remove a user account when it receives an intent to do so:
Body: This application does not check the origin of the intent, thus allowing any malicious application to remove a user. Always check the origin of an intent, or create an allowlist of trusted applications using the manifest.xml file.
IntentFilter filter = new IntentFilter("com.example.RemoveUser"); MyReceiver receiver = new MyReceiver(); registerReceiver(receiver, filter); public class DeleteReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { int userID = intent.getIntExtra("userID"); destroyUserData(userID); } }
Intro: These Android and iOS applications intercept URL loading within a WebView and perform special actions if a particular URL scheme is used, thus allowing the Javascript within the WebView to communicate with the application:
Body: A call into native code can then be initiated by passing parameters within the URL:
// Android @Override public boolean shouldOverrideUrlLoading(WebView view, String url){ if (url.substring(0,14).equalsIgnoreCase("examplescheme:")){ if(url.substring(14,25).equalsIgnoreCase("getUserInfo")){ writeDataToView(view, UserData); return false; } else{ return true; } } }