CVE-2026-80490
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Algorithm::AhoCorasick::XS w wersjach do 0.04 dla Perla odczytuje długość łańcucha stogu siana przed strunowaniem skalara.
Metody Match, First_match i Match_details wykorzystują mapę typów T_STD_STRING do translacji skalarów Perla (SV) na łańcuchy za pomocą konstruktora std::string, używając makra SvPV do naciągania danych wejściowych stogu siana oraz makra SvCUR do określania długości SV.
Gdy wejściowe wartości SV są referencjami, liczbami całkowitymi (IV) lub zmiennoprzecinkowymi (NV), makro SvCUR zwróci nieprawidłową długość, jeśli zostanie uruchomione przed zapisem danych wejściowych, co doprowadzi do odczytu poza zakresem, który może przerwać proces.
Należy zauważyć, że kolejność oceny argumentów std::string jest nieokreślona. W zależności od kompilatora, SvCUR może zostać uruchomiony jako pierwszy i doprowadzić do przerwania, którego nie można przechwycić w Perlu.
Można to wywołać, gdy stog siana jest wartością liczbową, na przykład
mój $ac = Algorithm::AhoCorasick::XS->new( [ "11", "22" ] );
$ac->dopasowania( 211 );
Może się to zdarzyć, gdy stóg siana jest wynikiem odczytania danych z zdekodowanego JSON lub numerycznej kolumny bazy danych. Można go również aktywować, gdy użyjesz błogosławionego obiektu jako stogu siana.
>_ Słabości (CWE)
>_ Referencje
- https://github.com/richardjharris/Algorithm-AhoCorasick-XS/pull/1
- https://metacpan.org/release/RJH/Algorithm-AhoCorasick-XS-0.04/source/typemap#L14
- https://rt.cpan.org/Ticket/Display.html?id=181560
- https://security.metacpan.org/patches/A/Algorithm-AhoCorasick-XS/0.04/CVE-2026-80490-r1.patch
- http://www.openwall.com/lists/oss-security/2026/09/30/15
Dane podatności pochodzą z oficjalnych źródeł (CVE® List / NVD). Opisy po polsku są tłumaczone automatycznie i mogą zawierać nieścisłości – na stronie rekordu można wyświetlić wersję angielską.
This product uses the NVD API but is not endorsed or certified by the NVD.
Copyright © 1999–2026, The MITRE Corporation. CVE is a registered trademark and the CVE logo is a registered trademark of The MITRE Corporation.
CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Any copy you make for such purposes is authorized provided that you reproduce MITRE's copyright designation and this license in any such copy. ALL DOCUMENTS AND THE INFORMATION CONTAINED THEREIN PROVIDED BY MITRE ARE PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND.
NVD Terms of Use / CVE® Terms of Use / nvd.nist.gov / cve.org