Mises à jour des règles
Mises à jour des règles dans la version 2.2.0
- Nouvelles règles
| Langue | CWE | Description |
|---|---|---|
| CSS | Amélioration des performances du scanner CSS pour gérer de très gros fichiers HTML sans utiliser de temps supplémentaire. | |
| Delphi, y compris Object Pascal1 | CWE-22 | Limitation incorrecte d'un nom de chemin à un répertoire restreint |
| CWE-77 | Neutralisation incorrecte des éléments spéciaux utilisés dans une commande | |
| CWE-78 | Neutralisation incorrecte des éléments spéciaux utilisés dans une commande OS | |
| CWE-79 | Neutralisation incorrecte de l'entrée pendant la génération de page Web (scriptage intersite) | |
| CWE-89 | Neutralisation incorrecte des éléments spéciaux utilisés dans une commande SQL | |
| CWE-94 | Contrôle incorrect de la génération de code (« injection de code ») | |
| CWE-99 | Contrôle incorrect des identificateurs de ressource (« insertion de ressource ») | |
| CWE-119 | Restriction incorrecte des opérations dans les limites d'une mémoire tampon | |
| CWE-120 | Copie de mémoire tampon sans vérification de la taille de l'entrée | |
| CWE-200 | Divulgation d'informations | |
| CWE-266 | Attribution de privilèges incorrecte | |
| CWE-295 | Validation incorrecte de certificat | |
| CWE-312 | Stockage d'informations sensibles Cleartext | |
| CWE-327 | Utilisation d'un mécanisme de chiffrement risqué ou compromis | |
| CWE-328 | Utilisation d'un hachage faible | |
| CWE-330 | Utilisation de valeurs insuffisamment aléatoires | |
| CWE-338 | Utilisation d'un générateur de nombres pseudo-aléatoires (PRNG) au chiffrement faible | |
| CWE-345 | Vérification insuffisante de l'authenticité des données | |
| CWE-434 | Téléchargement amont non restreint d'un fichier de type dangereux | |
| CWE-497 | Exposition des données du système à une sphère de contrôle non autorisée | |
| CWE-502 | Désérialisation de données non fiables. | |
| CWE-614 | Cookie sensible dans la session HTTPS sans attribut « Secure » | |
| CWE-643 | Neutralisation incorrecte de données au sein d'expressions XPath (« injection XPath ») | |
| CWE-760 | Utilisation d'un hachage à sens unique sans salage prévisible | |
| CWE-780 | Utilisation d'un algorithme RSA sans OAEP | |
| CWE-787 | Ecriture hors limites | |
| CWE-798 | Utilisation d'informations d'identification codées en dur | |
| CWE-942 | Règle inter-domaines permissive avec des domaines non approuvés | |
| CWE-1004 | Cookie sensible sans indicateur « HttpOnly » | |
| CWE-120 | Recherchez l'utilisation dangereuse de StrCopy, StrCat, StrPCopy, lstrcpy et lstrcat. 1 |
|
| CWE-143 | Vérifiez la présence de formats non sécurisés dans le cadre de l'utilisation de chaînes de format. 1 | |
| CWE-295 | Vérifiez les paramètres désactivant la validation du certificat SSL. 1 | |
| CWE-33 | Vérifiez les utilisations de RandSeed. 1 | |
| CWE-367 | Vérifiez les situations de compétition TOCTOU (Time of Check\Time of Use) avec les fichiers. 1 | |
| CWE-522 | Recherchez une clé de chiffrement vide ou nulle. 1 | |
| CWE-522 | Vérifiez la présence d'informations d'identification codées en dur dans les chaînes de connexion à la base de données. 1 | |
| CWE-539 | Vérifiez la présence de délais d'expiration des cookies très importants. 1 | |
| CWE-693 | Vérifiez l'utilisation de l'en-tête X-XSS-Protection obsolète. 1 | |
| CWE-693 | Vérifiez la désactivation des directives du compilateur sécurisé. 1 | |
| CWE-703 | Vérifiez les renvois d'exception incorrects. 1 | |
| CWE-732 | Vérifiez les entrées de domaine non sécurisées dans les nouveaux cookies. 1 | |
| CWE-732 | Vérifiez les entrées de chemin de cookie non sécurisées. 1 | |
| HTML | CWE-798 | Ajout d'une vérification pour les champs de mot de passe de type élément d'entrée codé en dur avec une valeur codée en dur. Remarque : Ajouté au scanner de code source et au scanner hybride. |
| Java | CWE-502 | Ajout de vérifications supplémentaires pour la désérialisation non sécurisée. 1 |
| CWE-532 | Ajout de vérifications supplémentaires pour les défauts de journalisation sensibles.1 | |
| CWE-1004 | Nouveau contrôle pour l'indicateur HttpOnly manquant sur les cookies ajoutés.1 | |
| CWE-79 | Vérifiez la réponse HTTP pour les entrées utilisateur non nettoyées dans les contrôleurs SpringBoot. 1 | |
| CWE-208 | Vérifiez les attaques de synchronisation avec des chaînes potentiellement sensibles. 1 | |
| CWE-215 | Vérifiez la configuration SpringBoot pour l'exposition d'informations sensibles. 1 | |
| CWE-338 | Amélioration des API recherchées par la vérification des règles pour les générateurs aléatoires faibles | |
| CWE-502 | Vérifiez les utilisations dangereuses de la désérialisation XStream. 1 | |
| CWE-611 | Règle améliorée pour vérifier également les configurations XMLInputFactory dangereuses. | |
| CWE-614 | Vérifiez s'il manque un indicateur sécurisé sur les nouveaux cookies. 1 | |
| CWE-749 | Vérifiez les annotations RequestMapping non sécurisées dans les applications Spring. 1 | |
| CWE-76 | Vérifiez les salages prévisibles dans les algorithmes de hachage unidirectionnels. 1 | |
| CWE-922 | Vérifiez le stockage des données sensibles dans les sessions HTTP. 1 | |
| CWE-1275 | Vérifiez la sécurité des paramètres SameSite dans les cookies. 1 | |
| CWE-22 | Couverture étendue pour les APIjava.nio.file.Path et java.io.File, |
|
| CWE-611 | Prise en compte correcte des appels de styleXMLReaderFactory.createXMLReader() et sxabuilder.setXMLReaderFactory pour la vérification des paramètres en toute sécurité. |
|
| Suppression de la règle d'attaque Java Timing car le problème sous-jacent n'est pas exploitable dans Java et la règle générait des faux positifs sur le code sécurisé. | ||
| JavaScript | CWE-521 | Meilleure détection dans les littéraux d'objets en JavaScript tels que les objets JSON. |
| MuleSoft1 | CWE-22 | Limitation incorrecte d'un nom de chemin à un répertoire restreint (« traversée de chemin ») |
| CWE-78 | Neutralisation incorrecte des éléments spéciaux utilisés dans une commande OS (« injection de commandes OS ») | |
| CWE-79 | Neutralisation incorrecte de l'entrée pendant la génération de page Web (« scriptage intersite ») | |
| CWE-89 | Neutralisation incorrecte des éléments spéciaux utilisés dans une commande SQL (« injection SQL ») | |
| CWE-94 | Contrôle incorrect de la génération de code (« injection de code ») | |
| CWE-306 | Absence d'authentification pour une fonction critique | |
| CWE-319 | Transmission d'informations sensibles Cleartext | |
| CWE-326 | Niveau de chiffrement insuffisant | |
| CWE-338 | Utilisation d'un générateur de nombres pseudo-aléatoires (PRNG) au chiffrement faible | |
| CWE-359 | Exposition d'informations personnelles sensibles à un acteur non autorisé | |
| CWE-497 | Exposition d'informations système sensibles à une sphère de contrôle non autorisée | |
| CWE-532 | Insertion d'informations sensibles dans le fichier journal | |
| CWE-611 | Restriction incorrecte de référence d'entité externe XML | |
| CWE-942 | Règle de sécurité inter-domaines permissive avec des domaines non approuvés | |
| CWE-1287 | Validation incorrecte du type d'entrée spécifié | |
| PHP | CWE-79 | Neutralisation incorrecte de l'entrée pendant la génération de page Web (« scriptage intersite ») |
| Secrets | CWE-798 | Utilisation d'informations d'identification codées en dur |
| Définissez le délai d'attente sur une seconde pour accélérer les numérisations. | ||
Ajoutez dans les fichiers .properties pour analyser les secrets codés en dur. |
||
| CWE-798 | Optimisation des performances en matière de secrets lors de la vérification des informations d'identification codées en dur. | |
| CWE-798 | Ajout de la vérification des informations d'identification JWT codées en dur. | |
| CWE-798 | Ajout de la vérification des informations d'identification codées en dur passant par un appel Base64.encode. |
Mises à jour des règles dans la version 2.1.0
Remarque :
- Nouvelles règles
| Langue | CWE | Description |
|---|---|---|
| Android Java | CWE-319 | Nouvelle couverture : Vérifie si usesCleartextTraffic ou cleartextTrafficPermitted est défini sur True dans le fichier AndroidManifest.xml, ce qui est une pratique non sécurisée. |
| C# | CWE-89 | Réduction du bruit en détection SQLi. |
| CWE-215 | Vérifiez les appels de journalisation pour détecter les variables suspectes contenant des informations sensibles.1 | |
| CWE-397 | Recherchez les lancers génériques, potentiellement dangereux, tels que new Exception ou new SystemException. | |
| CWE-89 | Nouvelle couverture : Ajout d'une vérification d'injection SQL pour prendre en compte le modèle += ainsi que certains modèles de procédure enregistrés. | |
| CWE-89 | Nouvelle couverture : Contrôle plus limité pour garantir la réduction du bruit. | |
| CWE-1004 | Réduction du bruit : Vérifiez la présence de la valeur http=true et, si elle est définie pour éviter une constatation. | |
| CSS | CWE-79 | Réduction du bruit détecté lors de la vérification des variables codées en dur dans les fichiers .css. |
| Dart | CWE-943 | Vérifiez la présence d'injection forNoSQL.1 |
| CWE-338 | Recherchez les nombres pseudo-aléatoires faibles.1 | |
| CWE-116 | Recherchez les appels de style File.writeAs.1 | |
| CWE-79 | Examinez l'utilisation potentiellement non sécurisée de Response.ok et d'appels similaires.1 | |
| CWE-348 | Recherchez la liste des répertoires potentiellement dangereux.1 | |
| CWE-78 | Recherchez l'utilisation dangereuse de Process.run.1 | |
| CWE-89 | Couvrez les appels de style requête/exécution/préparation pour le potentiel d'injection SQL.1 | |
| Dart : Flutter(prise en charge d'une nouvelle structure, nouvelle couverture) | CWE-35 | Vérifie si MethodChannel utilise un argument de chemin potentiellement contrôlé par l'utilisateur. |
| CWE-78 | Recherche une injection potentielle de système d'exploitation dans les appels MethodChannel. |
|
| CWE-80 | Vérifie WebView ou InAppWebView pour voir si JavaScript n'est pas restreint, ce qui est une pratique dangereuse. |
|
| CWE-89 | Prise en charge de l'API DB spécifique au flutter sqflite | |
| CWE-117 | Permet d'afficher les instructions d'impression et similaires qui ne sont pas encapsulées dans des contrôles de débogage. Ces appels ne doivent généralement pas se trouver dans le code de production en dehors d'une branche de débogage. | |
| CWE-312 | La règle vérifie si FlutterSecureStorage stocke des informations confidentielles suspectées, telles que des mots de passe ou d'autres informations de session. |
|
| CWE-598 | Vérifie l'objet navigateur pour détecter les utilisations potentiellement dangereuses des paramètres de requête. | |
| CWE-918 | Recherche les URL contrôlées par l'utilisateur dans MethodChannel.invokeMethod en tant que vecteur d'attaque SSRF. |
|
| Go | CWE-79 | Réduction du bruit produit lors de la vérification fprintf. |
| Docker IaC | CWE-22 | Vérifiez l'ajout de chemins sensibles dans DockerFile.1 |
| Kubernetes IaC | CWE-209 | Ajout d'une vérification du code de trace de pile laissé dans les fichiers de configuration .yaml. 1 |
| Java | CWE-209 | Vérification de l'utilisation de System.out et System.err dans le code (appels de débogage qui devraient être supprimés du code de production). 1 |
| CWE-78 | Recherche les appels en ligne de Runtime.getRunTime(). |
|
| CWE-757 | Amélioration de la liste des éléments considérés comme non sécurisés et défectueux. | |
| CWE-916 | Vérification du nombre d'itérations faibles pour PBEKeySpec et PBEParameterSpec. 1 |
|
| CWE-1188 | Vérification du déni de service avec le constructeur StringBuilder à l'aide de valeurs importantes ou contrôlées par l'utilisateur. 1 |
|
| CWE-215 | Vérifiez les appels de journalisation pour détecter les variables suspectes contenant des informations sensibles.1 | |
| CWE-397 | Recherchez les lancers génériques, potentiellement dangereux, tels que Exception ou Throwable. | |
| CWE-396 | Recherchez les blocs de capture génériques tels que catch (Exception e) ou catch (Throwable t).1 | |
| JavaScript | CWE-397 | Recherchez les lancers génériques, potentiellement dangereux, tels que « message ». |
| CWE-80 | Correction d'un défaut où le modèle @if est utilisé et n'est pas un modèle handlebars. | |
| JavaScript : Angular | CWE-80 | Réduction du bruit : Vérifiez que nous ne sommes pas dans un modèle @if |
| NodeJS | CWE-78 | Vérification supplémentaire pour les appels child_process.exec dangereux. |
| Perl | CWE-732 | Couverture plus complète des appels IO::File::open. |
| CWE-89 | Réduire le bruit dans la règle d'injection SQL qui a produit de manière erronée des résultats pour les instructions paramétrées. | |
| CWE-732 | Réduisez le bruit pour les appels ouverts en utilisant l'entrée STDIN. | |
| CWE-397 | Recherchez les lancers génériques, potentiellement dangereux, tels que Error("foo"). | |
| PHP | CWE-89 | Ajout d'une vérification de validation pour sqlite_escape_string. |
| CWE-213 | Ajout d'une vérification pour les appels phpInfo persistants dans le code PHP. 1 | |
| CWE-89 | Nouvelle vérification pour valider les conclusions à l'aide de sqlite_escape_string. |
|
| Python | CWE-397 | Recherchez les lancers génériques, potentiellement dangereux, tels que BaseException. |
| Secrets | CWE-798 | Ajoutez une vérification de privateKey pour les secrets codés en dur. |
| CWE-798 | Nouvelle couverture : Ajout de la prise en charge de Tuleap. | |
| CWE-798 | Nouvelle couverture : Vérifiez les mots de passe codés en dur dans les appels equalsIgnoreCase. |
|
| CWE-798 | Réduction du bruit : Évitez d'ajouter une recherche pour le code C\C++ commenté pour le lecteur de codes secrets. | |
| CWE-798 | Certains schémas erronés ont été supprimés en tant que constatation. | |
| CWE-798 | Recherche des informations d'identification codées en dur dans les fichiers web.config. |
|
| CWE-1051 | Vérification des adresses IP codées en dur ajustée pour éviter les chaînes qui semblent être des adresses IP, mais qui ne le sont pas. | |
| CWE-1051 | Réduction du bruit : la vérification des adresses IP codées en dur permet d'éviter les numéros de version probables | |
| CWE-798 | Réduction du bruit dans la détection des secrets Atlassian. | |
| CWE-798 | Réduction du bruit dans les paires clé/valeur des secrets. | |
| CWE-798 | Couverture supplémentaire pour rechercher les mots de passe contenant 1234 dans la chaîne en tant que partie intégrante du mot de passe codé en dur. | |
| Swift | CWE-1188 | Nouvelle couverture : Fichier de vérification info.plist pour UIFileSharingEnabled ou LSSupportsOpeningDocumentsInPlace défini sur True qui n'est pas sécurisé. |
| TypeScript | CWE-94 | Vérification supplémentaire de la version d'évaluation contenant une variable potentiellement contrôlée par l'utilisateur. |
De plus, il y a une mise à jour générale pour CWE-319. Nous avons supprimé les règles à la recherche de chaînes de style http non sécurisées dans le code, car elles sont trop bruyantes. Nous recherchons toujours des instances spécifiques de communications ouvertes utilisées dans notre scanner hybride où cela semble logique, par exemple pour les appels de récupération dans JavaScript.
Ce changement vers CWE-319 a un impact sur les langues suivantes :
- ASP
- Golang
- Groovy
- Kotlin
- Objective-C
- PHP
- Scala
- Swift
- C#
- Dart
- RPG
- VB
- Xamarin