Je suis en train de lire le CERT Secure Coding Standard for Java. Je suis aux prises avec ce rule. La gravité de cette règle est élevée, ce qui signifie qu'une violation de cette règle peut entraîner une escalade de privilèges ou l'exécution de code.Comment les références aux membres de la classe privée peuvent-elles être dangereuses?
Je ne comprends pas vraiment comment une violation de cette règle peut mener à de telles choses fatales. Quelqu'un peut-il donner l'exemple d'une attaque contre un code qui viole cette règle?
Il existe déjà des exemples sur la page à laquelle vous avez un lien. Quel est le problème avec ceux? –
Si vous exposez une référence à l'objet mutable privé, comme 'Date' ou toute 'Collection' modifiable, vous pouvez modifier l'état de votre objet de l'extérieur. Imaginez que vous avez la méthode 'List getNames()', vous pouvez l'appeler et ensuite appeler 'add (" name ")'. Ainsi, la personne qui utilise votre classe peut modifier l'état interne de l'instance. Voir aussi "Effective Java" de J. ** Bloch, 2e édition, article 39, p. 184 ** –
aucun des exemples n'aboutit à une exécution de code ou à une élévation de privilèges ou ai-je tort? – Exagon