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
CVE-2026-21045_and_CVE-2026-21048 — Gera arquivos TIFF/DNG manipulados para acionar gravações fora dos limites na libimagecodec.quram.so da Samsung, incluindo análise binária e etapas de reprodução. | Kitploit
Ferramentas/GitHubGitHub/pealeap/cve-2026-21045_and_cve-2026-21048
Segurança AndroidAnálise de VulnerabilidadesExploraçãoEngenharia ReversaSegurança MóvelAnálise de BináriosAprendizado e EducaçãoExploração de Binários

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
GitHub
pealeap/cve-2026-21045_and_cve-2026-21048

CVE-2026-21045_and_CVE-2026-21048

Gera arquivos TIFF/DNG manipulados para acionar gravações fora dos limites na libimagecodec.quram.so da Samsung, incluindo análise binária e etapas de reprodução.

Ver Repositório
1há 1 mêsAinda não revisado

CVE-2026-21045 & CVE-2026-21048 — Samsung libimagecodec.quram.so PoC de Escrita Fora dos Limites

Visão Geral

Este repositório contém ficheiros de prova de conceito (PoC) conceptuais que demonstram vulnerabilidades de escrita fora dos limites (OOB) na biblioteca de codecs de imagem Quramsoft (libimagecodec.quram.so) utilizada em dispositivos Samsung Android.

CVEFormatoTipoGravidadeCVSS 4.0Corrigido Em
CVE-2026-21045TIFFEscrita Fora dos Limites (CWE-787)Crítica8.4SMR Jul-2026 Release 1
CVE-2026-21048DNGEscrita Fora dos Limites (CWE-787)Alta—SMR Jul-2026 Release 1

Dispositivos Afetados

  • Dispositivos Samsung Galaxy com Android 14, 15, 16
  • Especificamente: Galaxy Z Fold 7, Flip 7, séries S e A (por exemplo, A17)
  • Dispositivos com patch de segurança anterior a SMR Jul-2026 Release 1
  • Biblioteca: /system/lib64/libimagecodec.quram.so

Mecanismo da Vulnerabilidade

Causa Raiz

A vulnerabilidade reside na função de análise de tags IFD (Image File Directory) WINKJ_ReadExifField (offset 0x13a0a8 no binário de 64 bits). Esta função processa entradas IFD individuais do TIFF/EXIF, sendo cada uma uma estrutura de 12 bytes:

root@kitploit:~
Offset  Size  Field
------  ----  -----
0       2     Tag ID
2       2     Data Type (1=BYTE, 2=ASCII, 3=SHORT, 4=LONG, 5=RATIONAL, etc.)
4       4     Count (number of values)
8       4     Value / Offset to data

Quando count * element_size > 4, o campo Value de 4 bytes é tratado como um offset de ficheiro (apontando para onde os dados reais residem). O código executa então uma verificação de limites no endereço 0x13a258:

root@kitploit:~
add w8, w6, w7    ; w8 = value_offset + (count * element_size)  [32-bit]
cmp w8, w5        ; compare against remaining buffer size
b.ls ok           ; if w8 <= buffer_size, proceed

Contorno por Estouro de Inteiro

A vulnerabilidade é um estouro de inteiro não assinado de 32 bits na adição. Se um atacante forjar value_offset e count * element_size de modo a que a sua soma tenha um wrap-around para um valor pequeno, a verificação passa mesmo que o acesso real à memória em base + value_offset saia dos limites.

Exemplo (tipo UNDEFINED, element_size = 1):

A adição de 32 bits 0x17FFF + 0xFFFF0001 = 0x10008000 é truncada para 0x8000, que é igual a buffer_size. A verificação passa, mas o ponteiro real de dados (base + 0x17FFF) situa-se 0x7FFF bytes além do final do buffer alocado.

Caminho de Código Vulnerável

root@kitploit:~
TIFFReadDirectory / WINKJ_ReadTiffInfo
  └─> WINKJ_ReadTiffIFDInfo   (allocates IFD buffer)
       └─> for each IFD entry:
            └─> WINKJ_ReadExifField   (parses entry, reads value data)
                 └─> Switch on Data Type (jump table at 0x13a15c)
                      ├─ Type 0 (BYTE/ASCII/UNDEFINED):  handler at 0x13a15c
                      ├─ Type 3/8 (SHORT/SSHORT):       handler at 0x13a1d0
                      ├─ Type 4/9/11 (LONG/SLONG/FLOAT): handler at 0x13a17c
                      └─ Type 5/10/12 (RATIONAL/SRATIONAL/DOUBLE): handler at 0x13a1ac
                      Each handler -> reads data at offset -> bounds check at 0x13a258

Ficheiros PoC

FicheiroDescrição
cve-2026-21045_tiff_oob_poc.pyGera poc_crash.tif — TIFF malformado que desencadeia escrita OOB através de tag ASCII com count/offset forjados
cve-2026-21048_dng_oob_poc.pyGera poc_crash.dng — DNG malformado que desencadeia escrita OOB através de tag UNDEFINED com count/offset forjados

Utilização

root@kitploit:~
# Generate TIFF PoC
python3 cve-2026-21045_tiff_oob_poc.py -o payload.tif

# Generate DNG PoC
python3 cve-2026-21048_dng_oob_poc.py -o payload.dng

# Transfer to device and trigger (e.g., via Gallery/MMS)
adb push payload.tif /sdcard/Download/
adb shell am start -a android.intent.action.VIEW -d file:///sdcard/Download/payload.tif -t image/tiff

Comportamento Esperado

Num dispositivo não corrigido (patch de segurança < julho de 2026), abrir o ficheiro TIFF/DNG forjado na Galeria Samsung (ou em qualquer aplicação que utilize o descodificador Quram) deverá causar uma corrupção de memória heap que pode levar a:

  • Falha da aplicação (SIGSEGV/SIGABRT)
  • Escrita fora dos limites na heap
  • Em determinados layouts de heap: potencial execução arbitrária de código

Num dispositivo corrigido (SMR Jul-2026 ou posterior), a imagem deve ser rejeitada como inválida ou processada com segurança. Uma falha num dispositivo totalmente corrigido pode indicar um problema separado não corrigido.

Detalhes da Análise do Binário

Informações da Biblioteca

root@kitploit:~
File:   libimagecodec.quram.so (64-bit)
SHA256: (verify against your copy)
NDK:    r23c (Android 21)
Built:  2021-12-31 (placeholder date)
Soname: libimagecodec.quram.so

Funções Principais

Tabela de Dispatch (Tipo de Tag → Handler)

Todos os tipos com element_size = 1 (BYTE, ASCII, UNDEFINED) partilham o mesmo handler e são igualmente vulneráveis ao contorno por estouro de inteiro.

CVEs Relacionados

Aviso Legal

Estas provas de conceito são fornecidas apenas para fins educacionais e de investigação em segurança. Demonstram o mecanismo da vulnerabilidade para ajudar utilizadores e programadores a compreender o risco. Não as utilize contra sistemas que não possui ou para os quais não tenha permissão explícita para testar.

Referências

  • https://nvd.nist.gov/vuln/detail/CVE-2026-21045
  • https://nvd.nist.gov/vuln/detail/CVE-2026-21048
  • https://security.samsungmobile.com/securityUpdate.smsb
  • https://gitlab.com/libtiff/libtiff/-/releases/v4.6.0
Baixar ferramenta
CampoValor (hex)Decimal
count0xFFFF00014.294.901.761
element_size11
count * element_size0xFFFF0001 ≡ -65535 (mod 2³²)4.294.901.761
value_offset0x00017FFF98.303
value_offset + count*size0x00008000 (estouro!)32.768
buffer_size0x0000800032.768
Resultado da verificação: 0x8000 <= 0x8000✅ PASSA—
Acesso real à memória: base + 0x17FFF0x7FFF bytes além do buffer❌ OOB
FunçãoEndereço (64 bits)TamanhoFinalidade
WINKJ_ReadExifField0x13a0a8912Analisa entrada IFD individual (vulnerável)
WINKJ_ReadTiffIFDInfo0x139d28896Lê todas as entradas IFD
WINKJ_ReadTiffInfo0x139ad4596Analisador de informações TIFF de alto nível
WINKJ_GetTiffInfo0x1393fc1752Ponto de entrada principal da análise TIFF
decodeTIFF0x1a2adc580Descodifica imagem TIFF via libtiff
getTIFFImageInfo0x1a2d20508Obtém metadados da imagem TIFF
copySubImageBuffer0x0b2824324Copia região de sub-imagem
TIFFReadDirectory0x1aac785896Leitor de diretórios do libtiff 4.6.0
_TIFFMultiply320x1a2f1c56Verificação segura de multiplicação de 32 bits
_TIFFMultiply640x1a2f5848Verificação segura de multiplicação de 64 bits
TipoNomeTamanho do ElementoEndereço do Handler
1BYTE10x13a15c
2ASCII10x13a15c
3SHORT20x13a1d0
4LONG40x13a17c
5RATIONAL80x13a1ac
6SBYTE10x13a15c
7UNDEFINED10x13a15c
8SSHORT20x13a1d0
9SLONG40x13a17c
10SRATIONAL80x13a1ac
11FLOAT40x13a17c
12DOUBLE80x13a1ac
CVEDescriçãoEstado
CVE-2025-58477Escrita OOB na análise de tags IFD em libimagecodec.quram.so (SMR Dec-2025)✅ Corrigido
CVE-2026-20973Leitura OOB em libimagecodec.quram.so (SMR Jan-2026)✅ Corrigido
CVE-2026-21045Escrita OOB na análise TIFF em libimagecodec.media.quram.so (SMR Jul-2026)⚠️ Não corrigido para mim
CVE-2026-21048Escrita OOB na análise DNG em libimagecodec.media.quram.so (SMR Jul-2026)⚠️ Não corrigido para mim
CVE-2026-4775Estouro de inteiro com sinal no libtiff 4.6.0 putcontig8bitYCbCr44tile⚠️ Não corrigido para mim
CVE-2024-7006Desreferência NULL no libtiff tif_dirinfo.c✅ Corrigido na 4.6.1