Pular para o conteúdo

PHP atualiza quatro versões de uma vez e corrige falhas de segurança

Ver no idioma original →

Autoria: Compilado do Código Fonte TV [OFICIAL] · Assistir no YouTube

Vídeo de autoria do canal indicado, não da IANIA; todos os direitos pertencem ao criador. Transcrição, resumo e tradução gerados automaticamente; o conteúdo no idioma original é preservado na versão em idioma original.

Idioma original: português

Vídeo original: PHP atualiza quatro versões de uma vez e corrige falhas de segurança · Canal: Compilado do Código Fonte TV [OFICIAL] · 06:01 · Assistir no YouTube

Tópicos: Cibersegurança e segurança de software, Engenharia de software com IA, Open source e ecossistemas de software

Quatro versões estáveis do PHP receberam atualizações que corrigem falhas de segurança em componentes como FPM, OpenSSL e PHAR, além de problemas no tratamento de redirecionamentos HTTP. As versões 8.2 e 8.3 estão na fase de receber apenas correções de segurança, e a recomendação é atualizar as instalações em produção. O PHP 8.6 segue em testes, com novidades como partial functions e a função clamp; o primeiro release candidate oficial foi chamado de RC2 devido a um erro de empacotamento. Desenvolvedores podem testar essa versão em ambientes isolados e relatar problemas no GitHub, mas ela ainda não deve ser usada em produção.

  • Foram atualizadas as versões PHP 8.5.11, 8.4.26, 8.3.35 e 8.2.34.
  • As atualizações corrigem falhas em componentes como FPM, OpenSSL e PHAR, além de um problema envolvendo redirecionamentos HTTP.
  • Entre os problemas resolvidos estão o contorno da lista de clientes permitidos no FastCGI e o vazamento de credenciais em redirecionamentos para outro domínio.
  • As versões 8.2 e 8.3 recebem apenas correções de segurança, e as instalações estáveis devem ser atualizadas.
  • O PHP 8.6 está em fase de testes e inclui partial functions, a função clamp, mudanças em propriedades read only e novas APIs.
  • O primeiro release candidate oficial do PHP 8.6 recebeu o nome RC2, após um erro no empacotamento da versão anunciada como RC1.
  • A versão de teste não deve ser usada em produção; desenvolvedores podem testá-la e relatar problemas no GitHub.
  • Ataques automatizados podem identificar versões vulneráveis de PHP em servidores, independentemente do tamanho do projeto.
  • É recomendável testar a compatibilidade de frameworks e aplicações com o PHP 8.6 em um ambiente isolado, como um contêiner Docker.
Início Capítulo Resumo
00:02 Atualizações de segurança nas versões estáveis Quatro versões estáveis do PHP recebem atualizações que corrigem falhas em componentes e no tratamento de redirecionamentos.
01:35 Novidades e testes do PHP 8.6 A versão em testes traz novas funcionalidades e APIs, e seu primeiro release candidate oficial foi identificado como RC2.
03:17 Por que atualizar as versões estáveis O vídeo recomenda atualizar o PHP em produção e alerta que ataques automatizados podem explorar versões vulneráveis.
04:52 Como testar o PHP 8.6 Desenvolvedores podem verificar compatibilidade e testar a versão em um ambiente isolado antes de relatar problemas no GitHub.
05:25 Encerramento O canal convida o público a se inscrever e acompanhar os episódios completos do Compilado.

O PHP atualizou quatro versões de uma vez e corrigiu falhas de segurança. — 00:02

Essa prévia ainda não deve ser utilizada em produção. — 02:43

Essas versões atualizadas, essas sim você já deve atualizar. — 03:17

Se a porta está aberta, ela entra. — 03:51

Se o teu projeto já tem cobertura de testes, roda os teus testes todos. — 05:25

  • PHP (ferramenta): Linguagem de programação cujas versões estáveis receberam atualizações de segurança e cuja versão 8.6 está em testes.
  • FastCGI (conceito): Protocolo relacionado a uma das falhas corrigidas, que permitia contornar a lista de clientes autorizados.
  • OpenSSL (ferramenta): Componente citado entre aqueles que receberam correções de segurança nas atualizações do PHP.
  • PHAR (conceito): Formato de arquivo do PHP mencionado entre os componentes envolvidos nas correções.
  • GitHub (empresa): Plataforma indicada pelo projeto para que desenvolvedores relatem problemas encontrados ao testar o PHP 8.6.
  • Laravel (ferramenta): Framework citado como exemplo de dependência cuja compatibilidade com o PHP 8.6 deve ser verificada.
  • Docker (ferramenta): Ferramenta sugerida para criar um ambiente isolado de teste para aplicações com a nova versão do PHP.

00:02 E o PHP atualizou quatro versões de uma vez e corrigiu falhas de segurança. O PHP teve uma rodada bem movimentada, tá? Eles chegaram às versões. Anota aí, anota. Duvido que você vá anotar, mas tudo bem. 8.5.11, 8.4.26, 8.3.35 e 8.2.34. Importantíssimo. >> Além de um release candidate do PHP 8.6. Você já sabia que o PHP já está na 8.6 e que a 8.0 já está depreciada há… >> Faz tempo. >> Acho que há mais de um ano, tá?

00:33 >> É, com certeza. >> E você aí ainda brincando com PHP 7, pô, que sacanagem, né? [risadas] >> Não faça isso. >> As quatro versões estáveis corrigem falhas de segurança em componentes como o FPM, o OpenSSL, o Phar — acho que é Phar que chama, né? — e no tratamento de redirecionamentos HTTP. Caramba. Então são erros… >> Aqueles erros básicos mesmo. Ó, entre os problemas resolvidos estão uma forma de contornar a lista de clientes permitidos no FastCGI e um vazamento de credenciais quando uma requisição é redirecionada para outro domínio.

01:05 >> Cacilda. >> Pois é. Então, será que essa correção não deveria ser feita também para versões mais antigas? Acho que eles até não mexem mais. Depreciou, depreciou. [risadas] Para quem mantém aplicações em produção, vale consultar o changelog e fazer as atualizações. Toda vez que a gente fala do PHP, Java, Python, fala assim: “Atualiza, filhinho”, né? As versões 8.3 e 8.2 estão na fase em que só recebem correções de segurança. Então, se elas receberam essas correções, é porque…

01:35 o bicho pegou, né? Já o PHP 8.6, ele está em fase de testes e traz novidades como a partial function, que permite preencher parte dos argumentos de uma função e obter um novo callable, e a função clamp, que limita… Fala de novo o nome dessa novidade aí. >> Da novidade. [risadas] O Gabriel está rindo porque eu já falei errado três vezes. É a partial function. [risadas] >> Tá bom. Bom, deixa eu voltar aqui. Já a função clamp limita um valor…

02:09 …a um intervalo. Acho que li errado de novo. [risadas] Ai, ele… >> Você entendeu: a clamp limita um valor a um intervalo. Agora foi, viu? Há também mudanças em propriedades read-only e novas APIs para duração de tempo e operações de entrada e saída. Anunciaram em uma matéria, lá em 22 de setembro, o RC1, mas o anúncio oficial posterior esclarece que houve um erro no empacotamento dessa versão. Por isso, o primeiro release candidate disponibilizado oficialmente…

02:43 …para testes recebeu o nome de RC2. O projeto pede que desenvolvedores testem suas aplicações e relatem problemas no GitHub. Essa prévia ainda não deve ser utilizada em produção. O RC3 está previsto para 8 de outubro. >> Então não tente encontrar o Release Candidate One, porque não vai existir. Deu ruim no empacotamento. >> Deu ruim e partiram para o dois. >> Já partiram para o dois. É o certo a fazer. E aí, em 8 de outubro, a gente volta aqui, se der, né, para falar sobre esse release candidate 3 que vai vir…

03:17 …também provavelmente com algumas dessas mudanças que a gente destacou nesta matéria. Assim: “Ah, mas de que adianta você falar disso? Não é para eu migrar, não é para colocar em produção?” Não, não é. Agora, essas versões que foram atualizadas, essas sim você já pode… >> Já pode não, já deve. >> Já deve, já deve atualizar, porque são versões estáveis, né? E essas falhas podem ser exploradas. “Ah, mas não tem como explorar, meu projeto é pequenininho, não estou nem aí”, sei lá o quê. Cara, ela não distingue projeto pequeno e…

03:51 …grande, ela simplesmente faz assim: “Pô, se… se a porta está aberta, ela entra”. >> Se a porta está aberta, ele vai atrás. Então é muito fácil detectar, por exemplo, num servidor que está usando PHP, quais são os headers de resposta e qual é a versão do runtime que você está usando, esse tipo de coisa. E aí, cara, para fazer um ataque automatizado e poder explorar esses problemas é muito fácil. Uhum. >> Eu, pô, para você ver, sem falar mal do WordPress: eu tinha alguns projetos, agora tenho zero projetos com WordPress. >> Mas, quando eu tinha, estava cheio de…

04:22 …projetos, projetos pequenos, coisas bobas assim, landing pages, sabe? Essas coisas pequenas, muitas vezes com versões escondidas, sabe? Quando você faz uma landing page, por exemplo, de lançamento, tem várias versões ali para você fazer mudanças, e tinha versões que estavam escondidas, que foram atacadas e alteradas. >> Entendeu? E por problemas não do WordPress, mas também por problemas de versão do PHP. Então você não pode dar mole, cara. Não pode deixar essas coisas acontecerem. >> De qualquer forma, a…

04:52 …gente também traz aqui essas versões, como o release candidate do PHP 8.6 de que falamos, porque elas estão em fase de teste. Então você também pode fazer os testes e ir ao GitHub colocar o que encontrou, qual foi o problema relatado ou alguma sugestão. Então é importante também trazer essas versões que ainda estão em teste, né? Se você usa, por exemplo, algum framework como o Laravel, tem que ver se ele já é compatível com essa versão do PHP. Cara, se for, vai ao teu ambiente aí, cria um Docker da vida, baixa uma imagem, coloca o teu projeto…

05:25 …numa branch nova e testa essa versão nova. É esse tipo de coisa que tem que fazer. Se o teu projeto já tem cobertura de testes, roda todos os teus testes aí. Pronto, se rodar tranquilo, siga em paz. E este aqui é um corte de uma notícia do compilado do Código Fonte TV, >> onde toda semana tem episódio novo falando de programação, tecnologia, inteligência artificial e cibersegurança. >> Então já se inscreve aqui no canal do Compilado e acompanha os episódios completos. [música]

06:01 [música] >> [música]

Transcrição original

[00:02] E o PHP atualizou quatro versões numa atacada só e corrigiu far de segurança. O PHP teve uma rodada aí bem movimentado, tá? Eles chegaram nas versões. Anota aí, anota. Duvido que você vai anotar, mas tudo bem. 8.5.11, 8.4.26, 8.3.35 e a 8.2.34. Importantíssimo. >> Além de um release aí candidate do PHP 8.6. Você já sabia que o PHP já está na 8.6 6 e a 8.0 já tá deprecada há >> faz tempo, >> acho que mais de ano, tá?

[00:33] >> É, com certeza. >> E você aí ainda brincando com PHP7, pô, sacanagem, né? [risadas] >> Não faça isso. >> As quatro versões estáveis corrigem falhas de segurança em componentes como o FPM, o Open SSL, o PAR, acho que FAR que chama, né? E no tratamento de redirecionamentos HTTP. Caramba. Então são erros, >> aqueles erros base mesmo. Ó, entre os problemas resolvidos estão uma forma de contornar a lista de clientes permitidos no Fest CGI e um vazamento de credenciais quando uma requisição é redirecionada para outro domínio.

[01:05] >> Cassilda. >> Pois é. Então, será que essa correção não deveria ser feita também para ver ações mais antigas? Acho que eles até não não não mexem mais. Deprecou, deprecou. [risadas] Para quem mantém aplicações em produção, vale consultar o Chain Logane aí as atualizações. Toda vez que a gente fala do PHP, Java, Python, fala assim: “Atualiza, filhinho”, né? As versões 8.3 e 8.2 estão na fase em que só recebem correções de segurança. Então, se eles receberam essas correções, é porque

[01:35] bicho pegou, né? Já o PHP 8.6, Se, ele tá em fase de testes e traz novidades como o partial function, que permite preencher parte dos argumentos de uma função e obter o novo colable e a função clamp, que limita. Fala de novo o nome dessa novidade deles aí, >> da novidade. [risadas] O Gabriel tá rindo porque eu já falei errado três vezes. É o special function. [risadas] >> Tá bom. Bom, deixa eu voltar aqui. Já a função clamp, ele se limita a um valor

[02:09] de intervalo. Acho que eu li errado de novo. [risadas] Ai, ele que >> você entendeu o clamp que limita um valor a um intervalo. Agora foi, viu? Há também mudanças em propriedades read only e novas API para duração de tempo e operações de entrada e saída. Anunciaram em uma como IO anunciaram em uma matéria lá em 22 de setembro o RC1, mas o anúncio oficial posterior esclarece que houve um erro no empacotamento dessa versão. Por isso, o primeiro release candidate disponibilizado oficialmente

[02:43] para testes recebeu o nome de RC2. O projeto pede que desenvolvedores testem suas aplicações e relatem problemas no GitHub. Essa prévia ainda não deve ser utilizada em produção. O RC3 ele tá previsto para 8 de outubro. >> Então não tente encontrar o Release Candidate One porque não vai existir. Deu ruim aí no contamento. >> Deu ruim e partiram pro dois. >> Já partiram pro dois. É o certo a se fazer. E aí 8 de outubro a gente volta aqui se der, né, pra gente falar sobre esse release candidate 3 que vai vir

[03:17] também com provavelmente com algumas já das mudanças. a gente destacou nessa matéria que assim, ah, mas que adianta você falou disso, mas não é para para eu migrar, não é para botar em produção, não, não é. Agora, essas versões que foram atualizadas, essas sim você já pode, >> já pode, não, já deve >> já deve já deve atualizar, porque são versões já estáveis, >> né? E essas falhas podem ser exploradas e ah, mas pode ser explorado nada, meu projeto é pequenininho lá, tá nem aí não sei o quê, cara. E a agora >> ela não distingue projeto pequeno e

[03:51] grande, ela simplesmente f assim, pô, se >> se a porta tá aberta, ela entra, >> se a porta tá aberta, ele ele vai atrás. Então é muito fácil detectar, por exemplo, num servidor que tá usando PHP, qual é a pros headers lá de resposta, qual é a versão que você tá usando do runtime, esse tipo de coisa. E aí, cara, para para você ter um ataque automatizado e poder explorar esses problemas é é muito fácil. Uhum. >> Eu, pô, para você ver, ó, falar para não falar mal do WordPress, eu tinha alguns, agora eu tenho zero projetos com WordPress, >> mas quando eu tinha, tava cheio de

[04:22] projetos e projetos pequenos, coisas coisas bobas assim, landing, sabe, essas coisas pequenas e muitas vezes com versões escondidas, sabe? Quando você faz landing, por exemplo, de de lançamento, você tem várias versões ali para para você fazer com mudanças e tinha versões que estavam escondidas, que foram atacadas e foram alteradas, >> entendeu? e por problemas, não do WordPress, mas por problemas de versão do PHP também. Então você não pode dar mole, cara. Não pode dar essas coisas. >> Tem gente agora, de qualquer forma, a

[04:52] gente traz também aqui essas versões como o release candidate que nós falamos aqui do PHP 8.6, porque eles estão em fase de teste. Então você pode também fazer os testes e ir lá através do GitHub colocar lá a sua, o que que você encontrou, qual foi o problema relatado, alguma sugestão. Então é importante também a gente trazer essas versões que ainda estão em testes, né? Se você usa, por exemplo, algum framework como o Laravel, tudo, tem que ver se ele já tem uma compatibilidade com essa versão do PHP. Cara, se tiver, vai no teu ambiente aí, cria aí um um Docker da vida aí, baixa uma imagem, coloca o teu projeto

[05:25] num que seja numa brand nova aí e testa essa versão nova. É, é esse tipo de coisa que tem que fazer. Se você teu projeto já, já tem cobertura de testes, roda os teus testes todos aí, pronto, se rodar tranquilo, siga em paz. E esse aqui é um corte de uma notícia do compilado do Código Fonte TV, >> onde toda semana tem episódio novo falando de programação, tecnologia, inteligência artificial e cybersegurança. >> Então já se inscreve aqui no canal do Compilado e acompanha os episódios completos. [música]

[06:01] [música] >> [música]