Web Application
CVE-2026-71215 high CVSS 7.5

art-template's sub-template resolution logic (src/compile/adapter/resolve-filename.js), used by...

Summary

Path traversal reported (CVE-2026-71215). Confidential information can be exposed externally.

Original description

The description as published by the source.

art-template's sub-template resolution logic (src/compile/adapter/resolve-filename.js), used by both the include() and extend() template directives, resolves the target file path via path.resolve(root, filename) with no check afterward that the result remains inside root. Because path.resolve() discards root entirely when filename is an absolute path, and does not block '../' traversal sequences, and the resolved path is passed directly to fs.readFileSync() in loader.js with its contents compiled and rendered, an application that lets a sub-template name be influenced by external input (e.g. a query parameter passed into {{include page}}) allows an attacker to read arbitrary files on disk that the Node process can access.

Source: NIST National Vulnerability Database NVD GitHub Advisory

AI summary

Written by an external AI model and may contain mistakes. Check the original description and references below before acting on it.

art-templateのサブテンプレート解決ロジックにおける問題で、絶対パスを処理するときにディレクトリ外へのファイルアクセスが可能です。攻撃者は、外部入力を利用して任意のファイルを読み取ることができます。

❓ What is the problem

art-templateのサブテンプレート解決ロジックで、絶対パス処理時にディレクトリ外アクセスが可能な問題。

📍 Affected scope

src/compile/adapter/resolve-filename.jsとloader.jsファイル。

🔥 Severity

攻撃者は任意のファイルを読み取ることができるため、高いリスクです。

🔧 How to fix

ディレクトリ外へのアクセスをチェックし、防ぐコードを追加する必要があります。

🛡️ Workaround

入力をサニタイズし、絶対パスを禁止することで一時的な対策を行う。

🔍 Detection

テンプレート名が外部入力から影響を受けている個所を確認し、パスが予期しないディレクトリに解決されないか確認する。

References

We use cookies for analytics and ad measurement. This setting applies to all Game co., Ltd. sites. Details