Sur cette page

Qt Positioning Considérations relatives à la sécurité

Cette page met en évidence les problèmes de sécurité potentiels pouvant survenir lors de l'utilisation du module et propose des solutions pour les éviter.

Plug-ins

Le module utilise un système de plug-ins pour sélectionner un backend lors de l'exécution. Cette sélection peut être basée soit sur la plateforme, soit sur une requête explicite de l'application.

Empêcher le chargement de plug-ins malveillants

Le système de plugins offre à un attaquant la possibilité de faire charger un plugin malveillant dans l'application. Un plugin étant une bibliothèque partagée s'exécutant dans le processus de l'application, il peut exécuter du code arbitraire avec les privilèges de l'application.

La documentation sur les plugins Qt donne un aperçu de la manière dont les plugins sont localisés et chargés, ainsi que des facteurs qui influencent les chemins de recherche. Il incombe au développeur de l’application de s’assurer qu’aucun plugin non fiable n’est accessible via ces chemins. Lors du déploiement d’une application, vérifiez que :

  • Les répertoires d’installation et d’application de Qt ne puissent pas être modifiés par des utilisateurs non fiables.
  • Si l’application utilise un fichier ` qt.conf `, son contenu est correct et les utilisateurs non fiables ne peuvent pas modifier ce fichier.
  • Les parties non fiables ne peuvent pas contrôler l'environnement du processus, car des variables telles que ` QT_PLUGIN_PATH ` étendent les chemins de recherche des plugins.

Une application peut également appeler ` QCoreApplication::setLibraryPaths()` au démarrage pour définir explicitement les chemins de recherche. Les chemins ainsi définis doivent tout de même être protégés contre toute modification par des utilisateurs non fiables.

Évitez le mode test en production

Afin de garantir le caractère déterministe des tests automatisés, le module ignore tous les plugins de production lorsque la variable d’environnement ` QT_QTESTLIB_RUNNING ` est définie. Par conséquent, aucune source de position ou de satellite n’est disponible pour l’application. Assurez-vous que cette variable n’est pas définie dans un environnement de production.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.