LEI DE LUIÇÃO de sobrefluxo de heap-buffer ( 16 bytes) em ` Gemm_ 7 _ 6::adapt_gemm_ 7 _ 6 ()` (`onnx/version_converter/adaptadores/gemm_ 7 _ 6.h: 41 `) quando `ConvertVersion()` processa um modelo com um nó Gemm cujos tensores de entrada têm menos do que 2 Dimensões. O adaptador acessa `B_shape[ 1 ]` sem verificar o nível. No lançamento, a leitura do OOB é silenciosa; ASan confirma 16 -byte leu depois de um 48 - alocação de byte. O Gemma 7 → 6 o adaptador de degradação lê as formas de entrada sem a verificação dos limites: ``` cpp // gemm_ 7 _ 6.h: 26 - 42 const auto& A_shape = entradas[ 0 ]-> tamanhos(); // Pode ter tamanhos(); // Pode ter < 2 elementos se (nodo-> tem atributo(ktransB) && nodo->i(ktransB) == 1 ) { MN.emplace_back(B_shape[ 0 ]); // OOB se B tiver 0 dims } outra coisa { MN.emplace_back(B_shape[ 1 ]); // OOB se B tiver < 2 dims ← CRASH } ```.

O PoC tem entrada B com forma `[ 28 ]` ( 1 dimensão). `B_shape` tem 1 elemento. Acesso a `B_shape[ 1 ]` lê 16 bytes passam pelo armazenamento interno `std:: vector ` na memória adjacente do pilha. O mesmo padrão não marcado se aplica ao ` A_shape[ 0 ]` e `_forma[ 1 ]` nas linhas 34 e 36. **Ponto de entrada:** `onnx.version_converter.convert_version(modelo, 6 )` — diferente dos erros `InferShapes` relatados em avisos separados. Isto ativa durante o desvalorização do opset ( 7 → 6 ).

### PoC ```python base de importação 64 importar onx do conversor de versão_importação do onnx poc_b 64 = "CAM 6 rwEKUQoBQQoBgoBQRIBWSIER 2 VtbSoPCgVhbHBoYRUBAQA+oAEBKg 4 KBGJldGEVAAAAOqABASoncgZ 0 dGZsc 0 EYAaABAioNCgZ 0 cmFuc 0 IYAKABAHIKb 2 Vpdl 94 bWZ 2 aFoTCgFBEg 4 KDAgBEggKAggCCgIIA 1 oTCgFCEg 4 KDAgBEggKAggcCgIIBFoPCgFCEgoKCAgBEgQKAggbYhMKAVkSDgoMCAESCAoCCAIKAggEQgQKABAH" modelo = onnx.load_from_string(base 64.b 64 decodificar( poc_b 64 )). # Ativa o fluxo de pilha-buffer-overflow no Gemm_ 7 _ 6 adaptador version_converter.convert_version(modèle, 6 ) ```.

186 -PoC de Byte. ASan confirma: `heap- buffer- overflow LEI de tamanho 16 ` no ` gemm_ 7 _ 6.h: 41 `, ` 0 bytes após 48 -byte region` alocado em `tensorShapeProtoToDimensions` em `ir_pb_converter.cc: 216 `. 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 auto- baixam as versões opset para compatibilidade. No lançamento, a leitura do OOB é silenciosa — o valor de leitura se propaga para a forma de saída do modelo convertido, potencialmente vazando dados do pilha. Em ASan compila é detectado como um fluxo de sobrecarga de pilha. Também poderia causar falhas com diferentes layouts de pilha. Registro de aconselhamento: GHSA- p 893 - rvq 9 - 2 xf 9. Identificadores relacionados: CVE- 2026 - 63632.

Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 24 T 15: 48: 04.000 Z e lista a sua última modificação como 2026 - 07 - 24 T 15: 48: 04.000 Z. Severidade: LOW. 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:L.

Informações sobre software e versão afetadas: pacote PyPI onnx — ECOSISTEM: introduzido 1.3.0, corrigido 1.22.0. Classificação e evidência: identificadores de fraqueza CWE- 125. O registro contém 5 suporte de referências nestes tipos: WEB, PACKAGE.