Cuidado no Linux! Sudo tem falha que deixa correr qualquer comando como root
O Linux tem uma aura de segurança que mais nenhum sistema tem. Desenhado com este princípio desde o início, tem conseguido manter-se longe de problemas graves de segurança. Os seus utilizadores sentem-se seguros e os seus dados estão longe de olhares alheios.
As falhas que existem normalmente são internas e surgem de falhas na criação das ferramentas usadas. Mesmo auditadas, estas acabam por existir. A mais recente vem agora de um das mais importantes ferramentas. O sudo está vulnerável e dá permissões a quem não as tem.
Uma falha grave de segurança no sudo do Linux
Quem usa o Linux conhecem bem o comando sudo. Principalmente, este dá a qualquer utilizador autorizado a capacidade de correr comandos com permissões de administrador. Estas contas são controladas e estes comandos podem ser definidos de forma firme.
É precisamente este comando que agora foi revelado estar comprometido. É uma falha de segurança grave e que traz problemas a qualquer Linux. Um utilizador mal-intencionado pode executar comandos com permissões elevadas, mesmo que estes não tenham autorização.
Este problema surgiu com uma avaliação de segurança feita por Joe Vennix da Apple Information Security. Este descobriu que a presença da flag ALL na área Runas cria una área de exceção e abre caminho a que qualquer utilizador execute os comandos não autorizados.
Qualquer utilizador pode correr comandos como root
O curioso nesta falha é que pode ser explorada por um atacante apenas especificando o valor "-1" ou "4294967295" como identificador de utilizador. Isto acontece porque a função de conversão trata estes 2 valores como 0, ou seja, o identificador do utilizador root.
Sabe-se que esta falha tem já alguns anos e que afeta sobretudo todas as versões deste comando até à versão 1.8.28. Esta foi lançada agora e traz a esperada correção deste problema. Só precisa de ser instalada para que o problema desapareça.
Não se esperava que um dos comandos mais importantes e poderosos do Linux estivesse vulnerável. A falha existe, está identificada e pode ser explorada. Cabe ao utilizador fazer a necessária atualização para que o problema desapareça.
Este artigo tem mais de um ano
Fonte: sudo.ws
Nada está seguro…
O Pplware está a desinformar, pois não é como dizem no artigo:
“O curioso nesta falha é que pode ser explorada por um atacante apenas especificando o valor “-1” ou “4294967295” como identificador de utilizador”
Estive a analisar esta CVE:
“…This flaw only affects specific, non-default configurations of sudo, in which sudoers configuration entry allows a user to run a command as any user except root, for example:
bob myhost = (ALL, !root) /usr/bin/vi
…”
Portanto só afecta utilizadores que estejam na lista de sudoers e que tenham especificamente o !root negado.
Quem quiser validar aqui:
https://access.redhat.com/security/cve/cve-2019-14287
Não é ter !root mas sim, nesse caso, o user bob, poder executar esse comando. Com a falha, nesse caso, qualquer utilizador poderia usar o vi como root (e o !root não teria qualquer efeito) para editar qualquer ficheiro do sistema o que poderia ser catastrófico. Se o /usr/bin/vi não estivesse lá, a falha não ocorria.
Bem, só tinha lido o inicio do cve, mas afinal não é só ter um comando permitido, mas tb ter o root negado, ambas as situações. O que tornava o bug extremamente difícil de ser explorado.
Pois… Não é o que transparece no artigo publicado aqui pelo pplware!!
Opssss, afinal parece que o Linux também apresenta problemas 😉
Saíste da toca pra dizer isso? Não há sistemas 100% seguros, mas há uns mais que outros, e o Linux bate qualquer um!
Vê-se bem que vem poucas vezes aqui 😉
Isto de certa forma é para calar alguns que de vez em quando tem a mania que o Linux é o Deus….. bate por enquanto deixa começar a descobrir os Podres….
Eu pelo menos não critico os sistemas….. cada um usa o que quer, enquanto que existem alguns querem impor ou passar que o Linux é o Rei….
Eu também não critico outros sistemas operativos mas a verdade é que o Linux é, de facto, mais seguro que outros sistemas operativos. Histórica e mesmo actualmente.
Lá por haver uns quantos fanáticos de Linux (também os há de outros lados) a dizer que é a melhor coisa depois da invenção do foguetão, não quer dizer que estejam errados. Em termos de segurança, e como é óbvio nenhum sistema é 100% seguro, podemos dizer que o Linux continua a ser Rei.
E depois disto tudo, critiquei outro sistema ?
E tu…. quando abres a boca…..
Aqui tens mais uma….
http://exameinformatica.sapo.pt/noticias/software/2019-10-18-Bug-no-Linux-pode-abrir-aparelhos-a-ataques-via-Wi-Fi
Nada bate um erro do utilizador…
Todos tem problemas, a questão é que em Linux assim que possível é lançado uma correção que corrige a falha ou invés de colocar soluções extra como antivírus e antimalwares para impedir que o sistema seja comprometido.
E os outros SO não?
Ainda recentemente a malta se queixava dos updates constantes dos Windows e OS X.
Sempre houve, um dos problemas agora chama-se Ubuntu. Este demônio de distribuição deveria deixar de existir. Um largo de insegurança. O Windows do Linux.
Agora de uma coisa não podes falar, a quantidade de falhas que o Windows tem, em comparação com Linux é bem ampla. Só o fato de você precisar de antivírus, seja de terceiros ou não, já demonstra a alta periculosidade do sistema.
Não é que a falha não exista, mas nem toda a gente usa o sudo, eu não uso nem vejo utilização para isso, até acho muito chato.
De qualquer forma, pensar que qualquer software não tem erros que levam a falhas de segurança, ou falhas no desempenho, ou erros no seu funcionamento, é irrealista.
Claro que há software que é feito sobre certas premissas que, por comparação com outros, são muito mais seguros de correr, e a taxa de incongruências entre a especificação e a implementação são raras. Como exemplo, software crítico.
O sudo nem é chato nem deixa de ser chato. É uma ferramenta que pode dar jeito em certos ambientes onde existam, por exemplo, utilizadores intermédios ou técnicos que necessitem um ou outro acesso constante e mais elevado a certas partes do SO pelas mais variadas razões.
Não é necessário o sudo ainda assim. É comodo mas não é essencial/obrigatório.
1- A falha não afecta apenas Linux, mas sim todos os sistemas operativos derivados do Unix como por exemplo dispositivos Apple com o MacOS.
2- Apenas tem efeito se o sudo estiver mal configurado. Não se consegue explorar esta falha se tiverem o “sudoers” como vem de origem na maioria das distrbuições Linux.
3- Mesmo assim, a maioria das distribuições Linux já tem o sudo actualizado e corrigido nos repositórios.
Actualizacao feita. Bug corrigido.
Bom dia, como você fez a atualização? só rodando um update?
Roda um:
# apt update && apt dist-upgrade -y
Acho q isso já deve atualizar
No windows todo sistema é root .
Em sistemas GNU/Linux o sistema raiz é separado da área do utilizador , neste caso a falha é para as distribuições Linux utilizem comando sudo para terem privilégios de administrador de sistema , as distribuições GNU/Linux que não utilizem o sudo no seu sistema não são afectadas .
O Windows pode não ser todo root. Basta criares um conta administrador e conta utilizador separadas.
@cortano
Não confundes as coisas administrador é uma coisa e root é outra , aquilo que o sudo faz é dar uma permissão root para alteres qualquer coisa , sem essa permissão não podes alterar nada no sistema de raiz , ou seja não podes apagar uma pasta do sistema raiz sem a permissão ROOT , a vantagem do sudo é poderes utilizar o mesmo utilizador normal para instalar programas no sistema ou alterar ficheiros no sistema sem que essa permissão seja permanente .
Não há grande vantagem no sudo.
Alterações na configuração do Linux tem de ser como root, logo, não há nada mais simples que usar a conta root, e instalação de software, não é necessário root, nao em todos as versões de Linux, aliás, em qualquer versão, podes instalar todo o software que quiseres sem teres de fazer sudo, ou sem teres de abrir uma shell Como root.
“mais simples que usar a conta root”
porta aberta .
Mas continua-la com o utilizador root e uma pass 123root lol , e depois apareces por ai a falar mal dos sistemas GNU/Linux .
Para andar a fazer coisas dessas, mais vale utilizares o sistema windows .
Tem cuidado ……
CMatomic, podes dar um exemplo real em que tens vantagens em usar sudo em vez de usar uma Shell em que fazes su?
Não quero os clichês que disseste acima. Quero casos práticos.
Volto te a repetir, instalo software sem ser root e corro obviamente sem ser root, o que depreendes que o meu “gestor” de pacotes não é apt, nem Rpm, nem pacman, nem yast, nem derivados de nenhum destes.
As minhas máquinas que estão em Linux, quase todas usam systemd.
Portanto, tento como comparação estas máquinas e uma tua que use o mesmo systemd (e o gestor de pacotes que usares), dá lá então um exemplo, que é para eu perceber bem a minha prática insegura.
Dá para ver que nunca tiveste num ambiente empresarial. Vais deixar todos os utilizadores a usarem root só para, por exemplo, editar um ficheiro de conf do apache?… O sudo serve para dares privilégios a utilizadores e grupos. Um DBA não tem que ter root para reiniciar base de dados nem para mexer no serviço…. é usado regras de sudo para limitar o que alguém pode correr…
Int3, tem piada, antes da existência do sudo o mundo devia ser um tormento para ti.
Portanto, antes da existência do sudo, os dba’s eram uns sacanas…
Como tu só conheces o comando sudo, sem isso nem te imaginas a fazer coisa alguma.
E em relação á minha experiência, não te interessa, mas pelo menos sei o que um dba não precisa do comando sudo para lançar um serviço (da BD por exemplo).
E já agora, não precisas do comando sudo para limitar o que um utilizador pode correr, mas isso deixo para tu ires pesquisar ao professor Google.
Int3, já agora, como pela tua conversa dependes muito do sudo, aposto que isso se deve a muita utilização de Ubuntu, mas o mundo Linux não se resume a Ubuntu, abre os teus horizontes.
@UserX
“mas pelo menos sei o que um dba não precisa do comando sudo para lançar um serviço (da BD por exemplo).”
Quanto mais falas mais te enterras.
Vamos supor que tens um cluster oracle que tens que levantar:
https://docs.oracle.com/database/121/CWADD/GUID-E2368A8A-449E-4AF8-BA03-5B35A8DA70F7.htm#CWADD92227
Uma pesquisa no google previne que te enterres à força toda:
“To start the Oracle Clusterware stack on two named servers run the following command as root:
# crsctl start cluster -n node1 node2”
Agora um DBA não precisa de root para correr o crsctl??? Da próxima estás calado porque não me conheces para dizer que só conheço o “sudo” 🙂
“E já agora, não precisas do comando sudo para limitar o que um utilizador pode correr”
Ai sim? Então diz-me lá como limitas o que uma pessoa pode correr numa máquina de forma privilegiada sem o sudo 🙂 Estou ansioso por saber !!
Int3, OpenBSD, comando doas.
Yap, há servidores que não correm Linux… Sim eu sei, os gajos chatos do OpenBSD…
E sim, tbm havia o sudo, e há o software para ser instalado, mas fica para tu descobrires porque é que por defeito desde a versão 5.8 que existe o comando doas, e não o sudo.
E já agora, tenho aqui num computador de desenvolvimento (mas podia ser de testes ou outra coisa qualquer) com Postgres a correr sem sudo, mas se calhar estou a ver mal… e está a correr Linux.
Mais uma vez , só conheces o teu mundo e só conheces Ubuntu. Não te crítico, pelos comentários já antigos, imagino que sejas dba e que Ubuntu é o que usas, portanto, eu compreendo. Mas volto te a dizer, abre horizontes.
Int3, por acaso até me esqueci de te dizer, há um port para FreeBSD, não vá tu usares aquele argumento da falta de performance do OpenBSD… E visto que em termos de performance e estabilidade há quem diga que FreeBSD é superior ao Linux, e imagina, uma utilização é para bases de dados.
No Windows sem a pass do administrador também não podes fazer nada disso.
Pode não ser “puro” root, mas na pratica vai dar ao mesmo.
Mas a Microsft pode , logo o sistema esta em root .
Em sistemas GNU/Linux que manda é o utilizador .
Mas a Microsft pode , logo o sistema esta em root .
Em sistemas GNU/Linux que manda é o utilizador .
No Linux, o utilizador que manda, no Windows quem manda é a Microsoft.
Essa mesma que você reinstala os bloatwares que você removeu após 6 meses depois da nova feature release.
Int3, já agora, como pela tua conversa dependes muito do sudo, aposto que isso se deve a muita utilização de Ubuntu, mas o mundo Linux não se resume a Ubuntu, abre os teus horizontes.
Neste caso se alguém andar mexer no ficheiro sudoers.d e não saber que anda fazer, coloca em risco todo sistema , se não alterem nada o nível segurança se matem .
O tal senhor Joe Vennix da Apple devia andar a mexer nas configurações do sudo e reparou nesse problema devido as suas alterações nesse ficheiro , não era porque sistema estava em risco mas sim fazendo essas alterações que precisava não garantia segurança ao sistema.
Portanto neste caso o utilizador comum não estava em risco com esta falha só estaria se altera-se da mesma forma que o Joe Vennix da Apple .
Neste caso se alguém andar mexer no ficheiro sudoers.d e não saber que anda fazer, coloca em risco todo sistema , se não alterem nada o nível segurança se matem .
O tal senhor Joe Vennix da Apple devia andar a mexer nas configurações do sudo e reparou nesse problema devido as suas alterações nesse ficheiro , não era porque sistema estava em risco mas sim fazendo essas alterações que precisava não garantia segurança ao sistema.
Portanto neste caso o utilizador comum não estava em risco com esta falha só estaria se altera-se da mesma forma que o Joe Vennix da Apple .
lolol ! “O meu carro é melhor que o teu !!!!”
Mas então ainda andamos como na 3ª classe a medir estas coisas ?
Falha de grave mas, de qualquer maneira, o “atacante” tem de estar listado no ficheiro sudoers com permissões para executar comandos como outro utilizador (menos root claro).
Este tipo de configuração é bastante incomum, sem desvalorizar a falha claro.
Sendo a falha explorada o utilizador consegue correr apenas o comando configurado como root (claro que se o comando configurado for bash, vi etc isto permitirá total controlo do sistema).
Ora um comando como bash ou vi configurado da maneira necessária ainda é mais incomum.
Uma “falha” que só pode ser acedida fisicamente, só após se ter feito o login na sessão do utilizador, e que mesmo assim não deixa executar os comandos em modo sudo porque, caso não saibam, este pede a password de administrador quando se usa esse comando.
Ou seja, teria de ser o próprio administrador a causar a falha propositadamente. E mesmo assim, a correção já foi lançada. The end.
Isto, comparado com as REAIS falhas de segurança de outros sistemas, é uma brincadeira
na verdade não pede a password de root. Pede a password do user que está a correr o comando. Se pedisse e tivesses a passwor de root não precisavas do sudo para nada.
É verdade. E por isso mesmo eu nunca gostei de utilizar o SUDO. Sempre que instalo um sistema eu defino a senha do root e desativo o SUDO. Para mim a segurança está justamente na utilização de uma senha exclusiva para o root, totalmente diferente das senhas dos demais utilizadores. Nunca vi vantagem alguma na utilização do SUDO.
Somos dois neste caso. Tbm não sei qual é a vantagem, mas tenho esperança que o CMatomic me responda ali à mensagem acima, pode ser que tu e eu finalmente vejamos vantagens no uso do sudo.
O problema é execução de certos programas como root ou seja vai utilizar ambiente totalmente root .
com o sudo também podemos ter um ambiente tolamente root ou seja utilizar o user root utilizando o comando ” sudo su ” e fica-se com ambiente root .
em comparação com o “sudo” não utiliza o ambiente root mas sim uma permissão root .
respondendo ao Ruy @Acquaviva , podes ter duas contas , uma para administração do sistema a outra como utilizar simples sem necessidade de utilizar “user root” para modificar coisas ou instalar .
se tiveres no ambiente de trabalho de não administração o sistema vai ter pedir a pass do administrador do sistema .
se quiseres instalar pelo terminal ou modificar algo pelo terminal , não vai ser possível com o utilizador simples , para isso terás que fazer da seguinte forma:
” su nomeAdmin ”
e assim entras no ambiente Admin e já podes utilizar o comando sudo para instalar coisas
e em seguida podes fazer
” sudo su ”
para entrar num ambiente totalmente ROOT
Não esquecer , $ é utilizador normal # utilizador root
para sair do ambiente root executa-se o comando “exit” assim a mesma coisa para utilizador Admin.
CMatomic, não estou a querer tirar esforço, e levo a segurança a sério, tal como imagino que tu, e uso Linux e *BSD quase em exclusivo há muitos anos (infelizmente não totalmente), portanto, depreende que uso a shell intensivamente, sei as diferenças entre os tipos de utilizadores, o que são grupos e por aí fora.
A questão aqui é, não vejo vantagem nenhuma a não ser o a questão de por azar/desatenção poder apagar ficheiros de sistema.
Mas hoje em dia, os sistemas que uso em Linux são “full reproducible”, não há enorme problema num azar desses.
Aliás o pior é perder dados do lado do utilizador que não tenham backup, e aí não serve para nada o sudo.
Em relação a correr aplicações como root, uso root apenas para configuração do SO, e além de não precisar de root para instalar nada, tbm corro tudo sem ser como Root, a distro que uso permite isso, portanto, tenho até um plus de segurança.
Portanto, obviamente que não vão lançar o chromium ou o Firefox de uma shell root, isto num desktop/laptop, e obviamente que não vou correr o script X so utilizador Y como root. Portanto, contínuo sem preceber qual é a vantagem do sudo, e olha que já instalei e já tentei usar, mas não consegui perceber a vantagem.
Acho que há aí um equívoco qualquer…
Primeiro não é necessário acesso físico porque até por SSH é possível explorar esta falha, depois um utilizador normal pode ser adicionado na lista do sudo e esse utilizador passa a ter permissões de Root e essas mesmas permissões podem ser também “limitadas/parametrizadas” pelo Root como por exemplo pode dar acesso aos serviços mas não pode “mexer” nos acessos/utilizadores.
P.S: do resto do comentário concorda 200%, a diferença do Linux é que o assunto já foi resolvido!
Vamos la ver , para alterar qualquer coisa tens que entrar no sistema, se não entrar nada consegues alterar , se as configurações do ficheiro sudoers.d se manter com as configurações , neste caso o tal Joe Vennix da Apple andou a mexer no sudoers.d .
Usem Windows, muito se fala mas não há recursos como existe em Windows.
Não, obrigado. faça bom proveito, por mim dispenso.
E eu a falar em crianças da 3ª classe … lá em cima um diz que o linux é a melhor coisa à face do planeta. Aqui é windows … pá, não são estas coisas que fazem qualquer sentido avaliar para escolher qual o SO a utilizar. Pelo amor da santa … muito mais quando a questão é sobre segurança e não sobre “recursos”.
O que é que eu tenho que fazer para corrigir o erro? Basta fazer o sudo apt-get update && sudo apt-get upgrade? Ou tenho que fazer mais algum truque extra? Obrigado desde já.
basta um “sudo apt-get update && sudo apt-get upgrade”
Nas minhas máquinas não tenho problema, todos os users pertencem ao grupo sudoers por isso vai dar ao mesmo…
Apenas mais uma “falha grave” que vale o que vale (nada neste caso…)
Agora o sr. da Apple Information Security deve ter recebido um “prémio shorudo” por ter descoberto este Bug….
hehehehehe
já tenho o pacote sudo atualizado desde do dia 14
O Pplware errou. A falha afecta “apenas” configuraçoes muito especificas do Sudo. Por favor corrijam.
Put keep are you
Coloca as orelhas de burro .
Amigo, não entendes de ironia.
Noticia completamente desatualizada. 🙁
Estou a acabar o Ctesp de redes e sistemas informáticos e o meu forte é Linux que já uso à quase 10 anos. Alguém me arranja trabalho na área? Neste momento estou a trabalhar fora da área de redes… obrigado desde já
no windows isto nao acontece!
exato, ele é muito seguro!
A falha não é DO LINUX, mas sim do UBUNTU.
Nenhuma novidade até então…
O Ubuntu é o Windows do Linux. Falhas assim acontecem em montes num período de tempo curto. Nada novo.
Por essas e outras que nunca recomendo o Ubuntu. Nem tudo que é o mais popular é o melhor, mesmo dentro do mundo Linux há seus lixos.
Tanto disparates… A falha é do sudo e não de NENHUM sistema operativo. O sudo em FreeBSD e MacOS também está vulnerável. Até me ardeu os olhos ao ler isto.
Se o ubuntu tem problemas não sei… Tenho vários em produção sem me darem problemas.
Mas que há pessoas com problemas de atitude e compreensão, disso não tenho dúvidas que haja!
import ironia
print( “que alívio, ainda bem que não uso ubuntu ” )
Linux is the Best…..
http://exameinformatica.sapo.pt/noticias/software/2019-10-18-Bug-no-Linux-pode-abrir-aparelhos-a-ataques-via-Wi-Fi
Só conheço uma forma de usar um computador de forma segura, é não estar ligado à internet nem a nada seja WiFi, placa de rede, pens etc e para segurança máxima desabilitar nas BIOS as placas de comunicacoes sejam de rede , portas séries ou paralelas e portas USB, usar teclado e ratos não USB como era antigamente, o grande problema é cada vez mais raro encontrar um computador que se consiga usar o rato e teclado sem ser por USB .
Eu costumo dizer que até da minha sombra desconfio, está tudo dito.
Os computadores são como os humanos,que estão todos interligados neste pequeno planeta , basta um humano estar infectado com um novo vírus para ser possível infectar milhões de. Humanos os computadores também