    function getNews(actualVersion, adapter) {
        let text = '';
        if (adapter.news) {
            for (const v in adapter.news) {
                if (adapter.news.hasOwnProperty(v)) {
                    if (systemLang === v) text += (text ? '\n' : '') + adapter.news[v];
                    if (v === 'en' || v === 'ru'  || v === 'de') continue;
                    if (v === actualVersion) break;
                    text += (text ? '\n' : '') + (adapter.news[v][systemLang] || adapter.news[v].en);
                }
            }
        }
        return text;
    }
The software uses external input to construct a pathname that is intended to identify a file or directory that is located underneath a restricted parent directory, but the software does not properly neutralize special elements within the pathname that can cause the pathname to resolve to a location that is outside of the restricted directory.