diff --git a/packages/components/nodes/documentloaders/Folder/Folder.ts b/packages/components/nodes/documentloaders/Folder/Folder.ts index d567f64a..e8aa16a5 100644 --- a/packages/components/nodes/documentloaders/Folder/Folder.ts +++ b/packages/components/nodes/documentloaders/Folder/Folder.ts @@ -10,6 +10,7 @@ import { DocxLoader } from '@langchain/community/document_loaders/fs/docx' import { LoadOfSheet } from '../MicrosoftExcel/ExcelLoader' import { PowerpointLoader } from '../MicrosoftPowerpoint/PowerpointLoader' import { handleEscapeCharacters } from '../../../src/utils' +import { isPathTraversal } from '../../../src/validator' class Folder_DocumentLoaders implements INode { label: string @@ -125,6 +126,14 @@ class Folder_DocumentLoaders implements INode { const _omitMetadataKeys = nodeData.inputs?.omitMetadataKeys as string const output = nodeData.outputs?.output as string + if (!folderPath) { + throw new Error('Folder path is required') + } + + if (isPathTraversal(folderPath)) { + throw new Error('Invalid folder path: Path traversal detected. Please provide a safe folder path.') + } + let omitMetadataKeys: string[] = [] if (_omitMetadataKeys) { omitMetadataKeys = _omitMetadataKeys.split(',').map((key) => key.trim())