1.2 CVE-2012-6095

 

O ProFTPD anterior a 1.3.5rc1, ao usar a diretiva UserOwner, permite que usuários locais modifiquem a propriedade de arquivos arbitrários por meio de uma condição de corrida e um ataque de link simbólico nos comandos (1) MKD ou (2) XMKD.
https://nvd.nist.gov/vuln/detail/CVE-2012-6095

Categorias

CWE-362 : Execução simultânea usando recurso compartilhado com sincronização imprópria ('Condição de corrida')
O programa contém uma sequência de código que pode correr em simultâneo com outro código, e a sequência de código requer acesso temporário e exclusivo a um recurso partilhado, mas existe uma janela de tempo na qual o recurso partilhado pode ser modificado por outra sequência de código que esteja a funcionar em simultâneo. Os métodos de caixa negra podem ser capazes de identificar provas de condições de corrida através de métodos tais como múltiplas ligações simultâneas, que podem fazer com que o software se torne instável ou falhe. No entanto, as condições de corrida com janelas de tempo muito estreitas não seriam detectáveis. Os idiomas comuns são detectáveis na análise da caixa branca, tais como o tempo de verificação do tempo de utilização (TOCTOU) operações de arquivo (CWE-367), ou bloqueio de dupla verificação (CWE-609). Nas línguas que o suportam, utilizar primitivas de sincronização. Enrole-os apenas em código crítico para minimizar o impacto no desempenho. Utilizar capacidades de segurança de linha, tais como a abstracção de acesso aos dados na Primavera. Ao utilizar multithreading e operar em variáveis partilhadas, utilizar apenas funções thread-safe. Utilizar operações atómicas em variáveis partilhadas. Ter cuidado com construções de aparência inocente, tais como "x++". Isto pode parecer atómico na camada de código, mas na realidade não é atómico na camada de instrução, pois envolve uma leitura, seguida de um cálculo, seguido de uma escrita. Utilize um mutex, se disponível, mas certifique-se de evitar fraquezas relacionadas, tais como CWE-412. Evitar a dupla verificação do bloqueio (CWE-609) e outros erros de implementação que surgem quando se tenta evitar a sobrecarga da sincronização. Desactivar interrupções ou sinais sobre partes críticas do código, mas também certificar-se de que o código não entra num laço grande ou infinito. Utilizar o modificador de tipo volátil para variáveis críticas para evitar a optimização ou reordenação inesperada do compilador. Isto não resolve necessariamente o problema de sincronização, mas pode ajudar. Execute o seu código utilizando os privilégios mais baixos necessários para realizar as tarefas necessárias [REF-76]. Se possível, crie contas isoladas com privilégios limitados que só são utilizadas para uma única tarefa. Desta forma, um ataque bem sucedido não dará imediatamente ao atacante acesso ao resto do software ou ao seu ambiente. Por exemplo, as aplicações de base de dados raramente precisam de ser executadas como administrador da base de dados, especialmente em operações do dia-a-dia. A aplicação Go para a gestão de nuvens cria um ficheiro de atacantes que permite aos atacantes locais injectar as regras do sudo e aumentar os privilégios de raiz ao ganhar uma condição de corrida. Cadeia: bloqueio indevido (CWE-667) leva à condição de corrida (CWE-362), tal como explorada na natureza por CISA KEV. Cadeia: condição de corrida em plataforma móvel (CWE-362), conforme explorada na natureza por CISA KEV. Cadeia: condição de corrida (CWE-362) leva ao uso-sem uso (CWE-416), conforme explorado na natureza por CISA KEV. cadeia: A interface JTAG não é desactivada (CWE-1191) durante a execução do código ROM, introduzindo uma condição de corrida (CWE-362) para extrair chaves de encriptação Chain: race condition (CWE-362) em produto anti-malware permite a eliminação de ficheiros criando uma junção (CWE-1386) e utilizando ligações rígidas durante a janela de tempo em que um ficheiro temporário é criado e eliminado. TOCTOU no processo sandbox permite a instalação de add-ons não confiáveis do navegador substituindo um ficheiro depois de ter sido verificado, mas antes de ser executado Chain: o chipset tem uma condição de corrida (CWE-362) entre quando um manipulador de interrupção detecta uma tentativa de escrever - activar a BIOS (em violação do bit de bloqueio), e quando o manipulador reinicia o bit de escrever - activar de volta a 0, permitindo aos atacantes emitir BIOS escreve durante a janela de tempo [REF-1237]. Condição de corrida que leva a um acidente ao chamar um procedimento de remoção de gancho enquanto outras actividades estão a ocorrer ao mesmo tempo. chain: tempo de verificação de tempo de utilização (TOCTOU) condição de corrida em programa permite o desvio do mecanismo de protecção que foi concebido para prevenir ataques de ligação simbólica. chain: tempo de verificação de tempo de utilização (TOCTOU) condição de corrida em programa permite o desvio do mecanismo de protecção que foi concebido para prevenir ataques de ligação simbólica. A operação de caching não sincronizado permite uma condição de corrida que provoca o envio de mensagens para um objecto desalocado. A condição de corrida durante a inicialização desencadeia um buffer overflow. O colapso do Daemon ao executar rapidamente operações e desfazê-las, o que eventualmente leva a uma operação que não adquire uma fechadura. chain: race condition triggers NULL pointer dereference A condição de corrida na função de biblioteca poderia causar o envio de dados para o processo errado. A condição de raça no analisador de ficheiros leva à corrupção da pilha. chain: a condição de raça permite ao atacante aceder a um objecto enquanto este ainda está a ser inicializado, fazendo com que o software aceda à memória não inicializada. chain: a condição de raça para um valor de argumento, resultando possivelmente numa cadeia de dereferência NULL: a condição de raça pode permitir que o recurso seja libertado antes de operar sobre ele, levando a uma cadeia de dereferência NULL: O manipulador de sinais contém demasiada funcionalidade (CWE-828), introduzindo uma condição de raça (CWE-362) que leva a uma dupla liberdade (CWE-415).

Referências


 

CPE

cpe começar fim
Configuration 1
cpe:2.3:a:proftpd:proftpd:1.2.0:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.0:pre10:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.0:pre9:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.0:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.0:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.0:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.1:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.2:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.2:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.2:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.2:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.3:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.4:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.5:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.5:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.5:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.5:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.6:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.6:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.6:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.7:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.7:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.7:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.7:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.8:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.8:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.8:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.9:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.9:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.9:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.9:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.10:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.10:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.10:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.2.10:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:a:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:rc4:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.0:rc5:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.1:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.1:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.1:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.1:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:a:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:b:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:c:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:d:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:e:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.2:rc4:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:*:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:a:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:b:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:c:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:rc3:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.3:rc4:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:*:*:*:*:*:*:*:* <= 1.3.4
cpe:2.3:a:proftpd:proftpd:1.3.4:rc1:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.4:rc2:*:*:*:*:*:*
cpe:2.3:a:proftpd:proftpd:1.3.4:rc3:*:*:*:*:*:*

Exploits

id descrição datado
Nenhum exploit conhecido

CAPEC

id descrição gravidade
29 Aproveitando as condições de corrida do tempo de verificação e do tempo de uso (TOCTOU)
Alto
26 Alavancando as Condições da Corrida
Alto

Sherlock® flash

Tire uma foto da sua rede informática em poucos cliques !

A solução de auditoria Sherlock® flash permite-lhe realizar uma auditoria para reforçar a segurança dos seus activos informáticos. Vulnerabilidade do seu equipamento físico e virtual. Planeamento de correcções por nível de prioridade e tempo disponível. Relatórios detalhados e intuitivos.

Descubra esta oferta

Sherlock® flash: 1ª solução instantânea de auditoria cibernética de segurança