Desreferência do ponteiro nulo (SIGSEGV) em `Upsample_ 6 _ 7::adapt_upample_ 6 _ 7 ()` (`onnx/version_converter/adaptadores/upample_ 6 _ 7.h: 31 `) quando ` convert_version()` processa um modelo com um nó Upsample que tem entradas zero. O adaptador acessa ` node->inputs()[ 0 ]->sizes()` sem verificar a contagem de entradas. 107 -byte PoC falha na compilação de lançamento. Esta é a mesma classe de erro que o aconselhamento do adaptador Cast (relatório separado) mas em um adaptador diferente, arquivo diferente e operador diferente. A amostra de cima 6 → 7 o adaptador valida atributos, mas não entradas: ``` cpp // upsample_ 6 _ 7.h: 20 - 33 vazio adapta_upample_ 6 _ 7 (..., Nódeo*) const { ONNX_ASSERTM( node-> temAttribute(width_scale_symbol) && nóde-> temAttribute( height_scale_symbol), "...") // Atributo verificado PASSES.
largura automática_escala = nódeo->f(largura_escala_symbol); altura automática_escala = nódeo->f(altura_escala_symbol). auto input_shape = node->inputs()[ 0 ]-> sizes(); // ^^^^^^^^^^^^^^^^^^^ // OOB quando inputs().size() == 0 → SIGSEGV } ``` O PoC tem um nó de Upsample no opset 6 com os atributos `width_scale` e `hight_scale` necessários, mas entradas zero. As asserções do atributo passam, e então ` node->inputs()[ 0 ]` em um vazio `ArrayRef`: - Construições de lançamento (`NDEBUG`): asserção de check- limites compilada → lê o ponteiro de lixo → SIGSEGV - Construições de depuração: `assister(Index < Longitude)` em `array_ref.h: 159 ` → SIGABRT Um nó Upsample com entradas zero passa por `graphProtoToGraph()` porque o código de importação só resolve os nomes de entrada presentes no protobuf.
### PoC ```python base de importação 64 importar onx do conversor de versão_importação do onnx poc_b 64 = "CAI 6 YQo 8 EgFZIghVcHHbXBsZSoVCgt 3 aWR 0 aF 9 zY 2 FsZRUAAABAoAEBKhYKDGhlaWdodF 9 zY 2 FsZRUAAABAoAEBEgR 0 ZXN 0 Apresentação: modelo = onnx.load_from_string(base 64.b 64 decodificar( poc_b 64 )). # CRÁSCIAS — Amostras de cima 6 _ 7 o adaptador desreferências vazias array de entradas version_converter.convert_version(model), 7 ) # SIGSEGV ``.
107 -PoC de Byte. Confirmado SIGSEGV em ambos os onnx 1.21.0 (pip) e 1.22.0 (construção de fonte). Qualquer aplicativo que use `onnx.version_converter.convert_version()` em modelos não confiados é vulnerável. Isto inclui condutores de conversão de modelos e ferramentas que atualizam automaticamente as versões opset para compatibilidade. O crash é irrecuperável (SIGSEGV). Esta vulnerabilidade faz parte de um padrão sistémico entre adaptadores de conversor de versões múltiplas. Uma auditoria completa de todos ~ 45 os adaptadores foram executados como parte da correção; oito adaptadores foram encontrados com a mesma classe de acesso indexado não protegido (cast_ 9 _ 8, softmax_ 12 _ 13, softmax_ 13 _ 12, exemplar_ 6 _ 7, exemplar_ 9 _ 10, grupo_normalização_ 20 _ 21, broadcast_forward_compatibilidade, upsample_ 9 _ 8 ) e todos foram corrigidos em RP # 7813.
Registro de aconselhamento: GHSA-hwpq-hmq 9 - wj 77. Identificadores relacionados: CVE- 2026 - 44512. Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 07 T 13: 02: 10.000 Z e lista a sua última modificação como 2026 - 07 - 07 T 13: 02: 10.000 Z. Gravidade: MODERAR. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H.
Informações sobre software e versão afetadas: pacote PyPI onnx — ECOSISTEM: introduzido 1.9.0, corrigido 1.22.0. Classificação e evidência: identificadores de fraqueza CWE- 476. O registro contém 4 suporte de referências nestes tipos: WEB, PACKAGE.