vulnerabilities computer software