Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
Yordam-Kutuphane-Otomasyonunda-Coklu-HTML-Enjeksiyonu — CVE-2026-77818 - Sistema de Automação de Biblioteca Yordam - Injeção de HTML refletida em três pontos distintos, sequestro de ação de formulário e roubo de credenciais (CWE-79) | Kitploit
Ferramentas/GitHubGitHub/alkimcoskun/yordam-kutuphane-otomasyonunda-coklu-html-enjeksiyonu
Análise de VulnerabilidadesExploraçãoExploração de Aplicações WebPhishingSegurança Web
GitHubalkimcoskun/yordam-kutuphane-otomasyonunda-coklu-html-enjeksiyonu

Yordam-Kutuphane-Otomasyonunda-Coklu-HTML-Enjeksiyonu

CVE-2026-77818 - Sistema de Automação de Biblioteca Yordam - Injeção de HTML refletida em três pontos distintos, sequestro de ação de formulário e roubo de credenciais (CWE-79)

Ver Repositório
há 8h 11mAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Múltipla Injeção de HTML na Automação de Biblioteca Yordam

CVE-2026-77818 · CVSS 3.1 6.1 (Médio) · Presidência de Cibersegurança · Publicado em 2026-09-04 · TR-26-1011

Status: As vulnerabilidades foram corrigidas na versão v22.2. As instalações afetadas devem ser atualizadas para v22.2 ou superior.

Visão Geral

O Sistema de Automação de Biblioteca Yordam é um software comercial de automação de bibliotecas e catálogo online (OPAC) amplamente utilizado em bibliotecas universitárias, públicas e institucionais na Turquia. A instalação é on-premise; cada cliente executa uma cópia separada em sua instituição.

Na versão v22.1 do produto, existem injeções de HTML refletidas em três pontos distintos e independentes. Nenhum deles exige autenticação, e todos são acionados por um único link.

#PontoCausa raiz
1Página de login, parâmetro devamNenhum escape aplicado
2Atributo value de campo de formulário ocultoDupla decodificação de URL após o escape
3Atributo name de campo de formulário ocultoEscape aplicado apenas ao valor, não ao nome

Como os três ocorrem na mesma versão do mesmo produto e na mesma classe de vulnerabilidade, foram agrupados em um único aviso e publicados sob um único ID de CVE. Em termos de impacto, o ponto nº 1 é o mais grave.


1. Página de Login — Parâmetro devam

Este é o mais crítico. O ponto de injeção está diretamente na própria tag HTML do formulário de autenticação.

O parâmetro devam carrega o endereço para o qual o usuário retornará após o login e chega codificado em hex — o valor 2f796f7264616d2f significa /yordam/. A aplicação decodifica esse valor de hex e o escreve na tag de abertura do formulário de login. Não há nenhuma operação de escape no meio:

root@kitploit:~
<form class='girisForm collapse show ikiAdimliGiris' method='post'
      action='inc/islem.fm.inc.php'
      data-url='<ENTRADA DO USUÁRIO DECODIFICADA EM HEX>'
      autocomplete="off">

Na saída, os caracteres <, > e aspas aparecem brutos. A única coisa que contém o payload é o fato de o atributo data-url estar entre aspas simples. Quando uma aspa simples é inserida na entrada, isso também termina: o atributo é fechado, a tag <form> é fechada e o HTML escrito pelo atacante substitui o formulário de autenticação da página.

O action do formulário é sequestrado. Aqui não é desenhado um formulário falso — o formulário da própria aplicação é deixado vazio e fechado, e imediatamente em seguida uma nova <form> com as mesmas classes CSS é aberta. Como os campos de nome de usuário, senha e código de verificação na página são todos do HTML original da aplicação, eles permanecem dentro desse novo formulário. O usuário vê o formulário real, preenche o formulário real; as informações inseridas vão para o servidor do atacante. Não há nenhuma diferença visualmente distinguível.

O ponto crítico: a injeção não ocorre em uma página aleatória, mas na página onde já se espera que o usuário digite sua senha. Em uma injeção refletida comum, o atacante precisa convencer a vítima; aqui, a própria interface da aplicação faz o trabalho de convencimento.


2. Atributo value de Campo de Formulário Oculto — Dupla Decodificação de URL

Na página de busca, os valores dos parâmetros GET são escritos em campos de formulário ocultos. Neste ponto, o escape é aplicado — mas na ordem errada.

O mesmo valor q é usado em três contextos diferentes dentro de uma única resposta, e cada um tem uma profundidade de decodificação diferente:

ContextoDecodificaçãoStatus
String JS em bloco <script>1 vezSeguro
Caixa de busca principal <input value="…">1 vezSeguro
Campos de formulário ocultos <input type='hidden' value="…">2 vezesVulnerável

A sequência de operações é a seguinte:

root@kitploit:~
Entrada do cliente   : %2522
  ↓ análise de $_GET
Variável PHP         : %22
  ↓ filtro de entrada  → não vê conteúdo malicioso, não há aspas
  ↓ htmlspecialchars  → nenhum caractere para escapar, sem alteração
  ↓ urldecode         → %22 é decodificado
Escrito na página    : "        ← aspa bruta, saída do atributo

Enquanto o filtro de entrada e o escape operam na primeira camada de decodificação, a saída é alimentada pela segunda camada. A diferença fica clara ao comparar as versões codificadas uma e duas vezes do mesmo payload:

EnviadoRespostaSaída do campo oculto
q=foo%22… (codificação única)302 Foundvalue="foo&quot;…" — o filtro captura
q=foo%2522… (codificação dupla)200 OKvalue="foo"><…>" — HTML bruto

A vulnerabilidade não é específica do parâmetro q. O bloco que gera campos ocultos itera sobre todos os parâmetros GET da requisição; também foi validado em tip e alan.


3. Atributo name de Campo de Formulário Oculto — Injeção no Nome do Parâmetro

O mesmo bloco gera a seguinte estrutura para cada parâmetro GET:

root@kitploit:~
<input type='hidden' name="<NOME DO PARÂMETRO>" value="<VALOR DO PARÂMETRO>"/>

O escape é aplicado apenas ao lado do value. Não é aplicado ao lado do name. Neste ponto, também não há necessidade de codificação dupla — uma única codificação é suficiente, pois não há escape a ser contornado.

Um nome de parâmetro inventado é escrito diretamente e bruto no atributo name, e é possível sair do atributo. Como o nome do parâmetro está sob controle do atacante, não precisa ser um parâmetro reconhecido pela aplicação.

Os pontos nº 2 e nº 3 destes três pontos originam-se do mesmo bloco de código, e esse bloco se repete em seis formulários diferentes: dilForm, adetForm, siralaForm, tkForm, ekForm, tmForm. Ou seja, em uma única requisição, a injeção ocorre seis vezes.

A natureza dinâmica do bloco foi confirmada comparando a saída de duas requisições:

root@kitploit:~
Requisição A: ?p=1&dil=0&alan=&tip=basit&gorunum=liste&q=…
Saída A: name="p" · name="alan" · name="tip" · name="gorunum" · name="q"

Requisição B: ?p=2&dil=0&devam=…
Saída B: name="p" · name="devam"

Os campos gerados não vêm de uma lista fixa, mas são derivados diretamente dos parâmetros da requisição. Portanto, tanto o conteúdo escrito no atributo name quanto no value está sob controle do atacante.


Impacto

A única coisa que o atacante precisa é de um link que a vítima abra. Não precisa estar autenticado nem ter uma conta.

  • Roubo de credenciais. Pelo ponto nº 1, o alvo action do formulário de login é redirecionado para o atacante. Confirmado.
  • Conteúdo falso com a identidade da instituição. Na barra de endereço permanecem o domínio próprio da instituição e um certificado TLS válido. É possível inserir avisos falsos, campanhas falsas e textos informativos falsos.
  • Adulteração de conteúdo e redirecionamento. A aparência da página pode ser alterada e o usuário pode ser levado a um endereço externo.

Como a plataforma afetada armazena credenciais e dados pessoais de usuários da biblioteca, é possível acessar os registros de membros por meio de contas comprometidas.

Por Que as Proteções Existentes Não Impedem

A aplicação usa CSP, e script-src e object-src são baseados em nonce; ou seja, o XSS clássico baseado em script não funciona nessas páginas. À primeira vista, isso parece reduzir o achado ao nível de "apenas adulteração de conteúdo".

A política completa é a seguinte:

root@kitploit:~
Content-Security-Policy: script-src 'nonce-...'; object-src 'nonce-...'; frame-ancestors 'self'

Não há form-action. Também não há default-src — portanto, não há um padrão para o qual recorrer para diretivas não definidas. Resultado: o navegador não bloqueia de forma alguma o formulário de fazer POST para o servidor do atacante.

Para roubar credenciais, não é necessário executar JavaScript. HTML simples é suficiente, e o CSP não bloqueia HTML simples.

Fraquezas Relacionadas

Primária

  • CWE-79 — Neutralização Incorreta de Entrada Durante a Geração de Páginas Web ('Cross-site Scripting')

Relacionadas

  • CWE-116 — Codificação ou Escape Incorreto de Saída
  • CWE-174 — Decodificação Dupla dos Mesmos Dados
  • CWE-172 — Erro de Codificação
  • CWE-451 — Apresentação Incorreta de Informações Críticas na Interface do Usuário (IU)

No registro do CVE, a fraqueza primária é classificada como CWE-79. No nível da causa raiz, a CWE-116 é mais explicativa: a causa dos três pontos é o escape de saída não aplicado ou aplicado na ordem errada.

Deve-se observar que não há execução de script neste produto — a política script-src baseada em nonce enviada pelo próprio produto não permite isso, e o valor do nonce não pode ser lido entre origens. O impacto real não é a execução de script, mas a injeção de HTML e o sequestro do formulário de login. O mapeamento CAPEC-148 (Content Spoofing) foi feito por esse motivo.

A CWE-174 aplica-se especialmente ao ponto nº 2 — a decodificação dos mesmos dados uma segunda vez após o escape.

Gravidade

Médio — Pontuação Base CVSS 3.1 6.1 (AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N)

O atacante não precisa de nenhuma permissão; como a vítima precisa abrir o link preparado, a interação do usuário é Necessária. O Scope foi definido como Changed porque o conteúdo injetado é processado no contexto de segurança do navegador.

Os três pontos correspondem à mesma pontuação. Em termos de impacto, o ponto nº 1 é o mais grave: como a injeção ocorre diretamente na própria tag do formulário de autenticação, é possível o sequestro do alvo action do formulário e o roubo de credenciais.

Versões Afetadas

root@kitploit:~
Sistema de Automação de Biblioteca Yordam

Afetadas : v22.1 e anteriores
Corrigidas : v22.2

A validação foi realizada na v22.1. As vulnerabilidades não decorrem de erro de configuração específico da instituição, mas de componentes comuns da interface do produto; afetam todas as instalações da mesma família de versões. A situação das versões mais antigas precisa ser avaliada pelo fabricante.

Como as instalações são on-premise, mesmo que o fabricante tenha publicado a correção, as instalações que não aplicarem a atualização continuarão afetadas.

Componente Afetado

#EndpointPonto de saída
1GET /yordam/?p=2&dil=<n>&devam=<hex>Atributo data-url do formulário de login
2GET /yordam/?p=1&…&<parâmetro>=<payload>Atributo value do campo de formulário oculto
3GET /yordam/?p=1&…&<payload>=1Atributo name do campo de formulário oculto

Os pontos nº 2 e nº 3 originam-se do mesmo bloco gerador de campos ocultos; o bloco se repete nos formulários dilForm, adetForm, siralaForm, tkForm, ekForm e tmForm.

Solução

As vulnerabilidades foram corrigidas pelo fabricante. A aplicação deve ser atualizada para a versão v22.2 ou superior.

Registro do CVE

ID do CVECVE-2026-77818
Atribuidor (CNA)TR-CERT (USOM) — Presidência de Cibersegurança da República da Turquia
StatusPUBLISHED
Reservado2026-08-21
Publicado2026-09-04
Aviso de SegurançaTR-26-1011
Título do Registro do CVEReflected HTML Injection via Form Hijacking in Yordam Informatics's Library Automation System
CAPECCAPEC-148 — Content Spoofing

Fabricante: Yordam Bilgi Teknolojileri Danışmanlık Eğitim ve Elektronik Sistemler Sanayi ve Ticaret A.Ş.

Descobridor

Alkım Coşkun – Netlore Security

Cronograma de Divulgação

DataEvento
2026-08-20Vulnerabilidades descobertas e confirmadas
2026-08-21Notificado à Presidência de Cibersegurança; ID do CVE reservado
2026-09-04CVE-2026-77818 publicado, aviso de segurança TR-26-1011 anunciado
Baixar ferramenta