Fallos del tipo CWE-562
8 resultadosRetorno do endereço de variável local
Função retorna um ponteiro para uma variável alocada na pilha (stack), que deixa de existir quando a função termina. Quem recebe o ponteiro acessa memória inválida ou já sobrescrita, causando comportamento imprevisível, corrupção de dados ou crash.
Ejemplo
Uma função C retorna `int *get_value() { int x = 42; return &x; }`. O código que chama e tenta usar esse ponteiro está acessando um endereço da pilha que agora pertence a outra função ou dados aleatórios.
Cómo mitigar
Alocar a variável no heap com malloc/new e deixar a responsabilidade de desalocação clara, ou retornar o valor por cópia (não referência). Em linguagens modernas, use verificadores estáticos (borrow checker do Rust, análise estática do Clang) que detectam isso automaticamente.
CVE-2021-21798HIGHAn exploitable return of stack variable address vulnerability exists in the JavaScript implementation of Nitro Pro PDF. A specially crafted EPSS 16.0%CVE-2022-41837CRITICALAn out-of-bounds write vulnerability exists in the OpenImageIO::add_exif_item_to_spec functionality of OpenImageIO Project OpenImageIO v2.4.EPSS 1.6%CVE-2024-4418MEDIUMLibvirt: stack use-after-free in virnetclientioeventloop()EPSS 0.5%CVE-2020-21686—A stack-use-after-scope issue discovered in expand_mmac_params function in preproc.c in nasm before 2.15.04 allows remote attackers to causeEPSS 0.4%CVE-2026-3591MEDIUMA stack use-after-return flaw in SIG(0) handling code may enable ACL bypassEPSS 0.4%CVE-2026-26399MEDIUMA stack-use-after-return issue exists in the Arduino_Core_STM32 library prior to version 1.7.0. The pwm_start() function allocates a TIM_HanEPSS 0.2%CVE-2026-34553MEDIUMiccDEV: DoS in CIccCLUT::Iterate() & CIccMBB::Describe()EPSS 0.2%CVE-2024-33045HIGHReturn of Stack Variable Address in BusesEPSS 0.1%