CVE-2026-94201
>_ Opis
Tłumaczenie automatyczne – może zawierać nieścisłości.
Ash przechowuje atrybuty typu :atom jako ciągi znaków i porównuje je jako ciągi znaków. Gdy filtr odwołuje się do takiego atrybutu, wartość porównania jest wymuszana przez Ash.Type.Atom. Ponieważ typ nie zdefiniował wywołania zwrotnego coerce/2, coercion wróciło do wartości domyślnej (cast_input/2), która wywołuje String.to_atom/1, gdy atrybut jest skonfigurowany z ograniczeniem unsafe_to_atom?: true.
Dlatego filtrowanie takiego atrybutu za pomocą ciągów kontrolowanych przez atakującego spowodowało internowanie nowego, trwałego atomu dla każdej odrębnej wartości. Atomy nigdy nie są usuwane jako elementy bezużyteczne, a BEAM ogranicza tabelę atomów, więc aktor, który może dostarczyć wartości filtrów dla publicznego, filtrowalnego atrybutu :atom zadeklarowanego za pomocą unsafe_to_atom?: true, może wyczerpać tabelę atomów i spowodować awarię węzła (odmowa usługi). AshPaperTrail jest godnym uwagi przykładem: zasoby jego wersji udostępniają publiczny, filtrowalny atrybut atomu nazwa_akcji_wersji z domyślnie unsafe_to_atom?: true.
Poprawka dodaje coerce/2 do Ash.Type.Atom, który nigdy nie internuje atomów — wartość porównawcza pozostaje jako ciąg znaków, ponieważ typ jest przechowywany i porównywany jako ciąg. Ustawienie atrybutu z wejścia akcji (cast_input/2, które nadal honoruje unsafe_to_atom?) pozostaje niezmienione.
Ten problem dotyczy popiołu: od 3.5.1 do 3.34.3.
>_ Słabości (CWE)
>_ Referencje
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