このウェブページのスクリーンショットから、以下の脆弱性に関する重要な情報を取得できます: 1. 脆弱性情報: - タイトル:Uncontrolled data used in path expression - ID:go/path-injection - タイプ:path-problem - セキュリティ重大度:7.5 - 重大度:error - 精度:high - タグ:security, external/cwe/cwe-022, external/cwe/cwe-023, external/cwe/cwe-036, external/cwe/cwe-073, external/cwe/cwe-099 - クエリ套件:go-code-scanning.qls, go-security-extended.qls, go-security-and-quality.qls 2. 脆弱性の説明: - ユーザー制御データを使用して構築されたパスへのアクセスは、攻撃者が予期せぬリソースにアクセスすることを可能にします。 - これにより、機密情報が漏洩または削除されたり、攻撃者が予期せぬファイルを変更して動作に影響を与えたりする可能性があります。 - パスには「..」などの特殊文字が含まれており、これによりパスがファイルシステムの任意の場所を指す可能性があります。 3. 推奨対策: - ユーザー入力を検証し、予期せぬパスの構築を引き起こさないようにします。 - 一般的な検証方法には、パスが相対パスであるか、「..」コンポーネントを含まないかどうかを確認するか、パスが安全なフォルダ内にあるかどうかを確認することが含まれます。 - パスが単一のパスコンポーネント(ファイル名など)であるべき場合は、パス区切り文字(「/」または「\」)または「..」のシーケンスが含まれていないかどうかを確認します。 - 最も単純ですが(そして最も厳格な)方法は、安全なパターンリストを使用し、ユーザー入力がそのうちの1つのパターンに一致することを確認することです。 4. 例: - 例では、HTTPリクエストを使用してファイルを読み取り、ユーザー入力されたパスを使用してファイルにアクセスする方法が示されています。 - 例では、パスにパス区切り文字または「..」のシーケンスが含まれているかどうかを確認することで、パス注入攻撃を防ぐ方法が示されています。 5. 参照: - OWASP:Path Traversal - CWE-22:Common Weakness Enumeration - CWE-23:Common Weakness Enumeration - CWE-36:Common Weakness Enumeration - CWE-73:Common Weakness Enumeration - CWE-99:Common Weakness Enumeration これらの情報は、パス注入脆弱性の詳細な説明、推奨対策、および関連する参照を提供し、開発者がこのタイプの脆弱性を理解し防御するのを支援します。