2/07/2012

0

Stefan Esser (@ i0n1c) acha vulnerabilidade no PHP 5.3.9

  • 2/07/2012
  • Billy Anderson
  • Quem acha que Stefan Esser (@ i0n1c) só se dedica a achar falhas em IOS para lançar Jailbreak, pode ficar esperto da próxima vez..consultor independente de segurança e criador da extensão de segurança populares para PHP Suhosin , há alguns dias identificaram uma falha crítica de segurança podem ser exploradas para executar código arbitrário em servidores com PHP 5.3.9 e anteriores . 

    O engraçado é que essa vulnerabilidade listado como CVE-2012-0830 , foi acidentalmente introdudica início de Janeiro para corrigir uma outra vulnerabilidade, CVE-2011-4885 , que removeu uma colisão DoS hash. Esta correcção adicionado a propriedade dos max_input_vars 'em php.ini que limita o número de variáveis ​​que podem ser usados ​​em um pedido

    (por exemplo. http://request.com/foo.php?a=1&b=2&c=3 ),

    padrão para um máximo . de 1000 As mudanças foram feitas em ' php_variables.c ", que registra todas as variáveis ​​de uma petição apelando a função vulnerável ' register_variable_ex ':



    Vazio PHPAPI php_register_variable_ex (char * var_name, zval * val, zval * track_vars_array TSRMLS_DC) 
    { 
    ... toneladas de código removido ... 
    if (is_array) { 
    ... código removido ...      if (zend_hash_num_elements (symtable1) <= PG (max_input_vars)) {     if (zend_hash_num_elements (symtable1) == PG (max_input_vars)) {     php_error_docref (NULL TSRMLS_CC, E_WARNING, "As variáveis ​​de entrada excedeu% ld. Para aumentar a max_input_vars limitar a mudança no php.ini. "   escaped_index, index_len + 1, gpc_element e, sizeof (zval *), (void **) & gpc_element_p); } ... Alguns códigos removido ... symtable1 = Z_ARRVAL_PP (gpc_element_p);   ... toneladas a mais de código removido ... }
    
    
    
    
    
    
    
    
    
    
    
    

    O problema é que quando o número de variáveis ​​ultrapassa os declarados dosmax_input_vars 'e que a variável é do tipo matriz ( if (* p == '[') ), ao invés de parar e voltar, o código continua a funcionar até que a macro ' Z_ARRVAL_PP '. Esta macro tenta obter uma tabela de referência de hash com um valor de ' gpc_element_p 'que não tenha sido inicializado na memória (no caso de uma matriz como mencionado). Pode ocorrer é que a execução arbitrária de código. Há já vários PoC Internet (ver que de Paul Westin eo Worawit (sleepya) ) e, acima de tudo, uma nova versão do PHP para corrigi-lo: a 

    0 Responses to “Stefan Esser (@ i0n1c) acha vulnerabilidade no PHP 5.3.9”

    Post a Comment

    ATENÇÃO
    1. não estamos mais aprovando comentários com perguntas. Caso sua dúvida seja sobre o iPhone 2G, 3G, dirija-se ao dev-Team.

    2.em artigos antigos, os comentários foram desabilitados.

    Atenciosamente, Equipe Macintosh Brasil (The Jailbreak Rules)

    Popular Posts

    ShareThis

    Subscribe