Advanced Bash-Scripting Guide Example Script getopt_simple Elevação de Privilégios
| CVSS Meta Pontuação Temporária | Preço atual do exploit (≈) | Nota de Interesse CTI |
|---|---|---|
| 6.6 | $0-$5k | 0.00 |
Sumário
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.
Detalhes
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/bashEstá 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: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
- Pass all options to getopt_simple().
getopt_simple $*
- list files to clean
echo "listing files in $target" find "$target" -mtime 1
$ 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].
Produto
Fabricante
Nome
CPE 2.3
CPE 2.2
CVSSv4
VulDB Vetor: 🔍VulDB Fiabilidade: 🔍
CVSSv3
VulDB Meta Pontuação Base: 7.6VulDB 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: 🔍
CVSSv2
| AV | AC | Au | C | I | A |
|---|---|---|---|---|---|
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| 💳 | 💳 | 💳 | 💳 | 💳 | 💳 |
| Vector | Complexidade | Autenticação | Confidencialidade | Integridade | Disponibilidade |
|---|---|---|---|---|---|
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
| Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
VulDB Pontuação Base: 🔍
VulDB Pontuação Temporária: 🔍
VulDB Fiabilidade: 🔍
NVD Pontuação Base: 🔍
Exploração
Classe: Elevação de PrivilégiosCWE: 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-Day | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
|---|---|---|---|---|
| Hoje | Desbloquear | Desbloquear | Desbloquear | Desbloquear |
Inteligência de ameaças
Interesse: 🔍Atores ativos: 🔍
Grupos APT ativos: 🔍
Contramedidas
Recomendação: Solução alternativaEstado: 🔍
Tempo 0-dia: 🔍
Tempo de atraso de exploração: 🔍
Linha do tempo
05/04/2012 🔍18/02/2019 🔍
20/03/2019 🔍
20/03/2019 🔍
20/03/2019 🔍
26/03/2019 🔍
26/03/2019 🔍
27/03/2019 🔍
21/05/2020 🔍
Fontes
Aconselhamento: [RT-SA-2019-007] Code Execution via Insecure Shell Function getopt_simplePessoa: 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
Entrada
Criado: 27/03/2019 08h39Atualizado: 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.
Ainda sem comentários. Idiomas: pt + es + en.
Por favor, inicie sessão para comentar.