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-2019-2107 | Kitploit
Ferramentas/GitHubGitHub/infiniteloopers/cve-2019-2107
Segurança AndroidAnálise de VulnerabilidadesExploraçãoFuzzingDesenvolvimento de PayloadsCavalo de Troia de Acesso RemotoExploração de Binários
GitHubinfiniteloopers/cve-2019-2107

CVE-2019-2107

Ver Repositório
43há 7 anosAinda 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

CVE-2019-2107

CVE-2019-2107

CVE-2019-2107 - parece assustador. Ainda se lembra das vulnerabilidades Stagefright e PNG? Com CVE-2019-2107, o decodificador/codec executa sob o usuário mediacodec e com um vídeo devidamente "criado" (com tiles habilitados - ps_pps->i1_tiles_enabled_flag) você pode possivelmente fazer RCE. O codec afetado é HVEC (também conhecido como H.265 e MPEG-H Part 2) #exploit #rce #android #stagefright #cve

texto alternativo

Mais informações

LineageOS (Android):

root@kitploit:~
02-11 20:18:48.238   260   260 D FFmpegExtractor: ffmpeg detected media content as 'video/hevc' with confidence 0.08
02-11 20:18:48.239   260   260 I FFMPEG  : [hevc @ 0xb348f000] Invalid tile widths.
02-11 20:18:48.239   260   260 I FFMPEG  : [hevc @ 0xb348f000] PPS id out of range: 0
02-11 20:18:48.240   260   260 I FFMPEG  : [hevc @ 0xb348f000] Invalid tile widths.
02-11 20:18:48.240   260   260 I FFMPEG  : [hevc @ 0xb348f000] PPS id out of range: 0
02-11 20:18:48.240   260   260 I FFMPEG  : [hevc @ 0xb348f000] Error parsing NAL unit #5.
02-11 20:18:48.240   260   260 I FFMPEG  : [hevc @ 0xb348f000] Invalid tile widths.

mplayer (laptop)

root@kitploit:~
id: 0
[hevc @ 0x7f0bf58a7560]Decoding VPS
[hevc @ 0x7f0bf58a7560]Main profile bitstream
[hevc @ 0x7f0bf58a7560]Decoding SPS
[hevc @ 0x7f0bf58a7560]Main profile bitstream
[hevc @ 0x7f0bf58a7560]Decoding VUI
[hevc @ 0x7f0bf58a7560]Decoding PPS
[hevc @ 0x7f0bf58a7560]Invalid tile widths.
[hevc @ 0x7f0bf58a7560]Decoding SEI
[hevc @ 0x7f0bf58a7560]Skipped PREFIX SEI 5
[hevc @ 0x7f0bf58a7560]PPS id out of range: 0
[hevc @ 0x7f0bf58a7560]Error parsing NAL unit #5.
Error while decoding frame!

Isso para quando a largura do tile é maior que o permitido: https://gitlab.freedesktop.org/gstreamer/meson-ports/ffmpeg/blob/ebf648d490448d511b5fe970d76040169e65ef74/libavcodec/hevc_ps.c#L1526

Então as verificações estão lá.

No Android padrão/google, acho que usará libhevc, não ffmpeg, ao usar o VideoPlayer.

https://www.droidviews.com/enjoy-hevc-h-265-video-playback-on-android/

Eu tenho o codec google:

OMX.google.hevc.decoder

No entanto, estou me perguntando por que não trava ....

Anexando o vídeo (videopoc.mp4) que deve desencadear esta condição:

root@kitploit:~
if (value >= ps_sps->i2_pic_wd_in_ctb - start)
+                        {
+                            return IHEVCD_INVALID_HEADER;
+                        }

Talvez alguém tenha mais sorte.

Mais informações 2

Whoooo hooo .... consegui :)

A prova de conceito está em hevc-crash-poc.mp4, outros vídeos são para players não Android.

O "pavor" do HEVC é possível. Você pode possuir o celular ao visualizar um vídeo com payload. No meu exemplo, não incluí payload real.

root@kitploit:~
07-13 21:50:59.000  3351  3351 I /system/bin/tombstoned: received crash request for pid 24089
07-13 21:50:59.006 24089 24089 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
07-13 21:50:59.006 24089 24089 F DEBUG   : Build fingerprint: 'samsung/hero2ltexx/hero2lte:8.0.0/R16NW/G935FXXS4ESC3:user/release-keys'
07-13 21:50:59.006 24089 24089 F DEBUG   : Revision: '9'
07-13 21:50:59.006 24089 24089 F DEBUG   : ABI: 'arm64'
07-13 21:50:59.006 24089 24089 F DEBUG   : pid: 24089, tid: 24089, name: media.extractor  >>> mediaextractor <<<
07-13 21:50:59.006 24089 24089 F DEBUG   : signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x7ccb800050
07-13 21:50:59.009 24089 24089 F DEBUG   :     x0   00000000ffffff36  x1   0000000000000000  x2   00000000000000f0  x3   0000000000000001
07-13 21:50:59.009 24089 24089 F DEBUG   :     x4   0000000000000001  x5   0000007ccb5df1b8  x6   0000007cc927363e  x7   0000007cc8e7bd04
07-13 21:50:59.009 24089 24089 F DEBUG   :     x8   0000000000004170  x9   0000000000004160  x10  00000000ffffffff  x11  0000007ccb7fbef0
07-13 21:50:59.010 24089 24089 F DEBUG   :     x12  0000007ccb5d3ce0  x13  000000000000001e  x14  0000000000000003  x15  0000000000000001
07-13 21:50:59.010 24089 24089 F DEBUG   :     x16  0000007cc99f5f50  x17  0000007ccb88885c  x18  0000007ccb566225  x19  0000007ccb562020
07-13 21:50:59.010 24089 24089 F DEBUG   :     x20  0000007ccb4f18a0  x21  0000007ccb468c6c  x22  0000000000000000  x23  0000000000000006
07-13 21:50:59.010 24089 24089 F DEBUG   :     x24  000000000000001e  x25  0000000000000094  x26  0000000000004160  x27  0000000000000001
07-13 21:50:59.010 24089 24089 F DEBUG   :     x28  0000007ccb55e750  x29  0000007fd6d39d90  x30  0000007cc99c4438
07-13 21:50:59.010 24089 24089 F DEBUG   :     sp   0000007fd6d39d20  pc   0000007cc99c44c4  pstate 0000000080000000
07-13 21:50:59.013 24089 24089 F DEBUG   : 
--

texto alternativo

Mais informações 3

Se você quiser ir além para obter RCE (Execução Remota de Comandos)

Eu começaria obtendo uma ROM LineageOS com build de depuração (se você não tem um telefone alvo com root, a desmontagem lhe dará dores de cabeça, deve ser muito mais fácil de trabalhar), possivelmente mudando o alocador de memória para jemalloc (para atingir celulares mais recentes)

Você pode configurar isso no seu BoardConfig:

device/samsung/msm8226-common/BoardConfigCommon.mk

root@kitploit:~
# Memory
#MALLOC_IMPL := dlmalloc
MALLOC_IMPL := jemalloc

Descobri que meu celular Samsung estava usando jemalloc, não tenho certeza sobre celulares mais antigos/novos. Espero que o mesmo.

Mais informações sobre jemalloc/dlmalloc: https://blog.nsogroup.com/a-tale-of-two-mallocs-on-android-libc-allocators-part-1-dlmalloc/

Aqui eu removi as verificações do libavcodec.so

Teste no LineageOS 7.1.2 no Samsung S3 Neo+

Como podemos ver, o mediaplayer travou/desapareceu... com eventos não tratados (MediaPlayer: mediaplayer went away with unhandled events). Não sei por que não trava nativamente. O objetivo seria aqui tomar o fluxo de execução. Boa sorte!

root@kitploit:~
02-25 16:44:15.008  2954  2954 I art     : Explicit concurrent mark sweep GC freed 4988(521KB) AllocSpace objects, 1(40KB) LOS objects, 25% free, 6MB/8MB, paused 484us total 43.471ms
02-25 16:44:15.011  2954  2954 I art     : Starting a blocking GC Explicit
02-25 16:44:15.046  2954  2954 I art     : Explicit concurrent mark sweep GC freed 435(17KB) AllocSpace objects, 0(0B) LOS objects, 24% free, 6MB/8MB, paused 523us total 34.700ms
02-25 16:44:15.083  2954  2954 W MediaPlayer: mediaplayer went away with unhandled events
Baixar ferramenta