goto文の誤った記述によるバグ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/06/11 01:22 UTC 版)
「goto文」の記事における「goto文の誤った記述によるバグ」の解説
詳細は「到達不能コード#CVE-2014-1266」を参照 アップルのSSL/TLS実装で発見された脆弱性CVE-2014-1266には、goto failという通称がある。goto文の誤った記述により、本来必要な署名検証処理が実行されずに処理成功として扱ってしまうというものであった。 ただし、このバグを正確に表現すると以下のような原因の複合であり、gotoは「たまたまそこにあった文がgotoだった」と捉えるのが普通のプログラマの感覚である。すなわち、 if文の帰結節に、ブロック(「複文」)だけでなく、「式文」などの単なる「文」も書ける、というALGOLやC言語の構文 そのために、インデントによる見た目と、真の構造が一致していない、というミスリード状態に気が付きにくいこと そのために、1個目のgoto文により、一見では到達不能コードに見える2個目のgoto文が、到達可能だったこと そのために別の、セキュリティ的に絶対に実行されなければならないコードが、到達不能コードになっていたこと 2個目のgoto文は、到達不能コードだと思うのならば、放置せずに削除しなければならなかったこと 一方で、2個目のgoto文は実際には到達不能コードではなかったので、第三者には、その部分を見ただけでは、削除して良いのか判断不可能だったこと
※この「goto文の誤った記述によるバグ」の解説は、「goto文」の解説の一部です。
「goto文の誤った記述によるバグ」を含む「goto文」の記事については、「goto文」の概要を参照ください。
- goto文の誤った記述によるバグのページへのリンク