1 votos

CLASSPATH de Seguridad

En este post alguien mencionó en un comentario que la adición de .: a la PATH variable de entorno es una vulnerabilidad de seguridad. Es la adición de .: a la CLASSPATH variable de entorno también una vulnerabilidad de seguridad?

2voto

Chai T. Rex Puntos 136

Sí, puede ser una vulnerabilidad de seguridad.

Poner .: en la parte delantera de la CLASSPATH significa que Java utiliza las clases en el directorio actual antes de tomarse la molestia de buscar en el resto de la CLASSPATH rutas. Esto significa que .class ficheros en el directorio actual o sus subdirectorios se utiliza en lugar de cualquier clase o interfaz. Por ejemplo, si el archivo ./java/lang/String.class existe, que se utilizará en lugar de la estándar String de la clase.

Eso significa que si usted no está prestando atención a lo que el directorio actual es cuando se ejecuta un programa en Java, el programa podría carga maliciosa clases en el lugar de cualquier clase que sea.

Para ahorrarse el esfuerzo de la enérgicamente comprobación de la actual directorio cada vez que se ejecute un programa en Java, usted no debe establecer el sistema para hacer que por defecto.

Si vas a utilizar las clases en el directorio actual cuando se ejecuta un determinado programa Java, por lo general, deberá omitir la configuración CLASSPATH y el uso de la -cp argumento a java su lugar, como en:

java -cp ".:…" …

Esto evita completamente que afectan a otros programas de Java a través de la CLASSPATH variable de entorno. Sólo debe hacerlo en los casos donde se sabe que los archivos en el directorio actual no son maliciosos.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: