Si una aplicación es vulnerable, es por definición explotable. Usted dice que una aplicación es "vulnerable", pero en realidad es un acortamiento de la frase "vulnerable a la explotación". Los dos conceptos son aproximadamente sinónimos.
La vulnerabilidad tiene en cuenta el marco. No ves explotaciones de desbordamiento de búfer en los programas de Python porque el marco protege contra eso. Pero no protege de forma implícita contra ataques de inyección o almacenamiento inseguro, por lo que espera ver explotaciones dirigidas a esas áreas.
Tenga en cuenta que el marco no tiene ninguna vulnerabilidad; Python no es susceptible de ataques de inyección, ni Java, pero ninguno de los marcos protege contra esos ataques de la misma manera que lo hacen para los desbordamientos de búfer. Entonces, mientras que Python no es vulnerable, un programa escrito en Python podría ser.