O PHP tem algumas funções inseguras para manter compatibilidade vide as mysql_* ;) haha. – rray♦ 24/03/16 às 13:08
@rray mas aí é biblioteca e mesmo assim, não tem insegurança alguma nessas função. Zero. O jeito que as pessoas usam isto é que costuma ser inseguro. Mas dá pra usá-las sem risco. – Maniero♦ 24/03/16 às 13:12
ótima explicação @bigown , agradeço e acredito que vai servir de ajuda para muitos aqui do Stack – João Victor Gomes Moreira 24/03/16 às 14:12
Em contraste com a resposta do Maniero eu digo que linguagens são sim inerentemente seguras ou inseguras em seu contexto de uso (digamos OS programming ou web programming) e elas são um dos fatores determinantes na segurança da sua aplicação. Essa mentalidade muito focada em que "o programador tem que saber fazer direito", que "ele é o responsável" é um atraso de vida. O programador é humano e ele é falho, ele pode e eventualmente vai errar, a não ser que a linguagem que ele use para expressar seus programas não permita que ele cometa o erro.
Veja por exemplo como você tem toneladas de brechas de seguranças sempre surgindo em sistemas operacionais e navegadores, sendo estes geralmente escritos em C/C++, devido a coisas simples como escrever dados fora dos limites alocados de um array. Você pode dizer que foram os desenvolvedores que fizeram errado, que a culpa da insegurança é deles e blá, mas no fim isso não muda o fato de que desenvolver algo como um sistema operacional em C ou C++ é inseguro, a linguagem vai possibilitar a existência de certas brechas de segurança e inevitavelmente estas vão aparecer no código, sendo que isso poderia ser evitado pela própria linguagem. Veja por exemplo Rust, uma linguagem de baixo nível desenvolvida pela mozilla; uma das principais razões de sua criação foi justamente a segurança, em Rust você elimina uma multitude de brechas de segurança relacionadas a memória, sendo que tais brechas são comuns em código C/C++, e a própria linguagem resolve este problema por ser segura em manipulação de memória.
Um outro exemplo de nível mais alto é a programação web, pense no problema de segurança clássico desse contexto, SQL injection. É um mandamento divino de programação web que você deve escapar seus dados antes de jogar eles em queries que são enviadas para a database (ou usar prepared statements), contudo não é difícil ver pessoas postando códigos que não fazem isso aqui mesmo no stack oveflow. Isso é culpa da falta de conhecimento (ou desleixo) do programador, mas seria da linguagem também? sim. Nada impede que você projete uma linguagem web em que seja impossível passar dados não escapados para queries de database, e então pronto, você tem uma linguagem que é segura contra SQL injection, o problema não existe mais independentemente da ação do programador.
Então para finalizar: nem todos os problemas de segurança são afetados pela linguagem usada, você colocar a senha do seu servidor em um código que o usuário pode inspecionar vai ser inseguro em qualquer linguagem do universo, contudo de modo geral a linguagem em que você desenvolve um software interfere diretamente na segurança do mesmo, independentemente do programador.
Parece que alguém deu downvote nas duas respostas, fiquei curioso sobre o terceiro ponto de vista. – BrunoRB 28/03/16 às 19:49