mirror of
https://github.com/farcasclaudiu/Flowise.git
synced 2026-06-28 23:01:09 +03:00
Bugfix/add validation for file path (#5211)
add validation for file path
This commit is contained in:
@@ -10,6 +10,7 @@ import { DocxLoader } from '@langchain/community/document_loaders/fs/docx'
|
|||||||
import { LoadOfSheet } from '../MicrosoftExcel/ExcelLoader'
|
import { LoadOfSheet } from '../MicrosoftExcel/ExcelLoader'
|
||||||
import { PowerpointLoader } from '../MicrosoftPowerpoint/PowerpointLoader'
|
import { PowerpointLoader } from '../MicrosoftPowerpoint/PowerpointLoader'
|
||||||
import { handleEscapeCharacters } from '../../../src/utils'
|
import { handleEscapeCharacters } from '../../../src/utils'
|
||||||
|
import { isPathTraversal } from '../../../src/validator'
|
||||||
|
|
||||||
class Folder_DocumentLoaders implements INode {
|
class Folder_DocumentLoaders implements INode {
|
||||||
label: string
|
label: string
|
||||||
@@ -125,6 +126,14 @@ class Folder_DocumentLoaders implements INode {
|
|||||||
const _omitMetadataKeys = nodeData.inputs?.omitMetadataKeys as string
|
const _omitMetadataKeys = nodeData.inputs?.omitMetadataKeys as string
|
||||||
const output = nodeData.outputs?.output 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[] = []
|
let omitMetadataKeys: string[] = []
|
||||||
if (_omitMetadataKeys) {
|
if (_omitMetadataKeys) {
|
||||||
omitMetadataKeys = _omitMetadataKeys.split(',').map((key) => key.trim())
|
omitMetadataKeys = _omitMetadataKeys.split(',').map((key) => key.trim())
|
||||||
|
|||||||
Reference in New Issue
Block a user