python.nan-injection

返回列表 · CWE 索引

pythonERROR规则详情

各语言消息对照

语言消息
de

Benutzereingaben fließen direkt in eine Typumwandlung nach bool(), float() oder complex(). Das erlaubt einem Angreifer, Pythons Not-a-Number (NaN) in die Typumwandlung einzuschleusen, was undefiniertes Verhalten nach sich ziehen kann, insbesondere bei Vergleichen. Wandeln Sie in einen anderen Typ oder ergänzen Sie einen Guard, der alle Schreibweisen des Strings 'nan' prüft.

en

Found user input going directly into typecast for bool(), float(), or complex(). This allows an attacker to inject Python's not-a-number (NaN) into the typecast. This results in undefind behavior, particularly when doing comparisons. Either cast to a different type, or add a guard checking for all capitalizations of the string 'nan'.

fr

Une entrée utilisateur entrant directement dans une conversion de type bool(), float() ou complex() a été détectée. Cela permet à un attaquant d'injecter le NaN (« not-a-number ») de Python dans la conversion, produisant un comportement indéfini, notamment lors des comparaisons. Convertissez vers un autre type ou ajoutez une garde vérifiant toutes les casses de la chaîne 'nan'.

ja

ユーザー入力が bool()、float()、complex() の型変換に直接渡されています。攻撃者は Python の NaN(非数値)を注入でき、未定義動作(特に比較演算に影響)を引き起こします。別の型に変更するか、文字列 'nan'(大文字・小文字の各表記を含む)に対する防御チェックを追加してください。

ko

사용자 입력이 bool(), float(), complex()의 타입 변환으로 그대로 전달되는 것이 발견되었습니다. 공격자가 Python의 NaN(숫자가 아닌 값)을 주입하여 정의되지 않은 동작(특히 비교 연산에 영향)을 일으킬 수 있습니다. 다른 타입으로 바꿔 사용하거나 'nan'(모든 대소문자 포함) 문자열에 대한 방어 검사를 추가하십시오.

ru

Пользовательский ввод попадает напрямую в приведение типов bool(), float() или complex(): злоумышленник может внедрить нечисловое значение Python (NaN), что ведёт к неопределённому поведению, особенно при сравнениях. Приводите к другому типу либо добавьте проверку на строку 'nan' во всех вариантах регистра.

zh

发现用户输入直接进入 bool()、float() 或 complex() 的类型转换,攻击者可注入 Python 的 NaN(非数值),导致未定义行为(尤其影响比较运算)。请改用其他类型,或增加对字符串 'nan'(含各种大小写)的防御检查。

zh-Hant

發現使用者輸入直接進入 bool()、float() 或 complex() 的型別轉換,攻擊者可注入 Python 的 NaN(非數值),導致未定義行為(尤其影響比較運算)。請改用其他型別,或增加對字串 'nan'(含各種大小寫)的防禦檢查。

CWE 知识卡

语言名称修复建议
deUnzureichende TypumwandlungPrüfen Sie Typ und Wertebereich ausdrücklich, bevor Sie umwandeln, und vermeiden Sie implizites Abschneiden.
en——
frConversion ou cast de type incorrectValidez explicitement le type et la plage de valeurs avant toute conversion, pour éviter les troncatures implicites.
ja不適切な型変換型と値の範囲を明示的に検証してから変換し、暗黙的な切り詰めを避けてください。
ko부적절한 유형 변환변환 전에 유형과 값 범위를 명시적으로 검증하고, 암시적 잘림을 피하십시오.
ruНекорректное преобразование типаПроверяйте тип и диапазон значений перед преобразованием, не допуская неявного усечения.
zh类型转换不当显式校验类型与取值范围后再转换,避免隐式截断。
zh-Hant型別轉換不當顯式驗證型別與取值範圍後再轉換,避免隱式截斷。

元数据

likelihoodMEDIUM
impactMEDIUM
confidenceMEDIUM

修复字段

fix无
fix-regex无

上游规则源

github.com/opengrep/opengrep-rules/tree/main/python/django/security/nan-injection.yaml