diff options
| author | Seth Troisi <[email protected]> | 2025-07-24 16:05:13 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-07-24 23:05:13 +0000 |
| commit | e9ee686ab6c5c99d895d80951336613f248f6560 (patch) | |
| tree | 0845abd821f734e74dff15d80227e0c624d4fca7 /packages/core/src | |
| parent | f0400912fd3f6abd4d5ea08cb99d2dfdffec1dc0 (diff) | |
Sanitize checkpoint tags (#4813)
Diffstat (limited to 'packages/core/src')
| -rw-r--r-- | packages/core/src/core/logger.ts | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/packages/core/src/core/logger.ts b/packages/core/src/core/logger.ts index e857bd46..450a0d2f 100644 --- a/packages/core/src/core/logger.ts +++ b/packages/core/src/core/logger.ts @@ -238,6 +238,12 @@ export class Logger { if (!this.geminiDir) { throw new Error('Checkpoint file path not set.'); } + // Sanitize tag to prevent directory traversal attacks + tag = tag.replace(/[^a-zA-Z0-9-_]/g, ''); + if (!tag) { + console.error('Sanitized tag is empty setting to "default".'); + tag = 'default'; + } return path.join(this.geminiDir, `checkpoint-${tag}.json`); } |
