Katalog CWE

CWE-111 · Słabość

Direct Use of Unsafe JNI

Abstrakcja
Wariant
Status
Szkic
Dodano
19 lipca 2006
Ostatnia zmiana
29 lutego 2024

Podatności CVE z tą słabościąPełny wpis na cwe.mitre.org ↗

Opis

When a Java application uses the Java Native Interface (JNI) to call code written in another programming language, it can expose the application to weaknesses in that code, even if those weaknesses cannot occur in Java.

Many safety features that programmers may take for granted do not apply for native code, so you must carefully review all such code for potential problems. The languages used to implement native code may be more susceptible to buffer overflows and other attacks. Native code is unprotected by the security features enforced by the runtime environment, such as strong typing and array bounds checking.

Skutki

  • Access Control

    Bypass Protection Mechanism

Zapobieganie

  • Implementation

    Implement error handling around the JNI call.

  • Implementation · Refactoring

    Do not use JNI calls if you don't trust the native library.

  • Implementation · Refactoring

    Be reluctant to use JNI calls. A Java API equivalent may exist.

Słabość nadrzędna

Kiedy powstaje

Dotyczy

Java

Źródła

  1. Seven Pernicious Kingdoms: A Taxonomy of Software Security Errors — Katrina Tsipenyuk, Brian Chess, Gary McGraw, NIST, 2005
  2. Fortify Descriptions — Fortify Software
  3. The Java(TM) Tutorial: The Java Native Interface — Beth Stearns, Sun Microsystems, 2005

Wpis z katalogu CWE 4.20.