Advanced Bash-Scripting Guide Example Script getopt_simple Elevação de Privilégios

CVSS Meta Pontuação TemporáriaPreço atual do exploit (≈)Nota de Interesse CTI
6.6$0-$5k0.00

Sumárioinformação

Uma vulnerabilidade foi encontrada em Advanced Bash-Scripting Guide Example Script. Foi classificada como crítico. O elemento afetado é a função getopt_simple. O tratamento leva a Elevação de Privilégios. Esta vulnerabilidade é identificada como CVE-2019-9891. O ataque requer abordagem local. Além disso, um exploit está disponível. Esta vulnerabilidade tem um impacto histórico devido ao seu contexto e recepção. Recomenda-se implementar a solução alternativa sugerida.

Detalhesinformação

Uma vulnerabilidade foi encontrada em Advanced Bash-Scripting Guide Example Script. Foi classificada como crítico. O elemento afetado é a função getopt_simple. O tratamento leva a Elevação de Privilégios. Usar CWE para declarar o problema leva a CWE-264. O erro foi introduzido em 05/04/2012. A vulnerabilidade foi identificada em 18/02/2019. O problema foi divulgado 26/03/2019 por RedTeam Pentesting (Patrick) com RedTeam Pentesting GmbH como [RT-SA-2019-007] Code Execution via Insecure Shell Function getopt_simple como Mailinglist Post (Bugtraq). O comunicado foi disponibilizado para download em seclists.org.

Esta vulnerabilidade é identificada como CVE-2019-9891. A atribuição do identificador CVE aconteceu em 20/03/2019. O ataque requer abordagem local. Há detalhes técnicos disponíveis. Esta vulnerabilidade apresenta popularidade inferior à média. Além disso, um exploit está disponível. O exploit foi exposto ao público e pode ser aproveitado. Atualmente, o preço atual de um exploit pode ser aproximadamente USD $0-$5k no momento. O projecto MITRE ATT&CK declara a técnica de ataque como T1068. Esta vulnerabilidade tem um impacto histórico devido ao seu contexto e recepção. O seguinte código é a razão para esta vulnerabilidade:

#!/bin/bash

getopt_simple() { until [ -z "$1" ] do if [ ${1:0:2} = '--' ] then tmp=${1:2} # Strip off leading '--' . . . parameter=${tmp%%=*} # Extract name. value=${tmp##*=} # Extract value. eval $parameter=$value fi shift done }

target=/tmp

  1. Pass all options to getopt_simple().
  2. getopt_simple $*
  1. list files to clean
  2. echo "listing files in $target" find "$target" -mtime 1
Está declarado como prova de conceito. O exploit pode ser baixado em seclists.org. A vulnerabilidade foi tratada como uma exploração não pública de dia zero durante pelo menos 2546 dias. Como 0 dia, o preço estimado do subsolo foi de cerca de $0-$5k. Segue o código empregado pelo exploit:
$ sudo -l
Matching Defaults entries for user on srv:
    env_reset, secure_path=/usr/sbin\:/usr/bin\:/sbin\:/bin

User www-data may run the following commands on srv: (root) NOPASSWD: /usr/local/sbin/cleanup.sh

Recomenda-se implementar a solução alternativa sugerida. O parecer contém a seguinte observação:

Replace the function "getopt_simple" with the built-in function "getopts" or the program "getopt" from the util-linux package. Examples on how to do so are included in the same tutorial [3][4].

Produtoinformação

Fabricante

Nome

CPE 2.3informação

CPE 2.2informação

CVSSv4informação

VulDB Vetor: 🔍
VulDB Fiabilidade: 🔍

CVSSv3informação

VulDB Meta Pontuação Base: 7.6
VulDB Meta Pontuação Temporária: 7.2

VulDB Pontuação Base: 5.3
VulDB Pontuação Temporária: 4.7
VulDB Vetor: 🔍
VulDB Fiabilidade: 🔍

NVD Pontuação Base: 9.8
NVD Vetor: 🔍

CVSSv2informação

AVACAuCIA
💳💳💳💳💳💳
💳💳💳💳💳💳
💳💳💳💳💳💳
VectorComplexidadeAutenticaçãoConfidencialidadeIntegridadeDisponibilidade
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear
DesbloquearDesbloquearDesbloquearDesbloquearDesbloquearDesbloquear

VulDB Pontuação Base: 🔍
VulDB Pontuação Temporária: 🔍
VulDB Fiabilidade: 🔍

NVD Pontuação Base: 🔍

Exploraçãoinformação

Classe: Elevação de Privilégios
CWE: CWE-264
CAPEC: 🔍
ATT&CK: 🔍

Físico: Parcial
Local: Sim
Remoto: Sim

Disponibilidade: 🔍
Acesso: Público
Estado: Prova de conceito
Autor: RedTeam Pentesting
Descarregar: 🔍

EPSS Score: 🔍
EPSS Percentile: 🔍

Tendência de preços: 🔍
Estimativa de preço atual: 🔍

0-DayDesbloquearDesbloquearDesbloquearDesbloquear
HojeDesbloquearDesbloquearDesbloquearDesbloquear

Inteligência de ameaçasinformação

Interesse: 🔍
Atores ativos: 🔍
Grupos APT ativos: 🔍

Contramedidasinformação

Recomendação: Solução alternativa
Estado: 🔍

Tempo 0-dia: 🔍
Tempo de atraso de exploração: 🔍

Linha do tempoinformação

05/04/2012 🔍
18/02/2019 +2510 dias 🔍
20/03/2019 +30 dias 🔍
20/03/2019 +0 dias 🔍
20/03/2019 +0 dias 🔍
26/03/2019 +6 dias 🔍
26/03/2019 +0 dias 🔍
27/03/2019 +1 dias 🔍
21/05/2020 +421 dias 🔍

Fontesinformação

Aconselhamento: [RT-SA-2019-007] Code Execution via Insecure Shell Function getopt_simple
Pessoa: RedTeam Pentesting (Patrick)
Empresa: RedTeam Pentesting GmbH
Estado: Não definido

CVE: CVE-2019-9891 (🔍)
GCVE (CVE): GCVE-0-2019-9891
GCVE (VulDB): GCVE-100-132473
scip Labs: https://www.scip.ch/en/?labs.20161013

Entradainformação

Criado: 27/03/2019 08h39
Atualizado: 21/05/2020 20h23
Ajustamentos: 27/03/2019 08h39 (73), 21/05/2020 20h23 (2)
Completo: 🔍
Cache ID: 216:35A:103

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Discussão

Ainda sem comentários. Idiomas: pt + es + en.

Por favor, inicie sessão para comentar.

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!