Skip to content

Commit 35092d7

Browse files
committed
fix(app): use re-encoding check for strict base64 validation
1 parent e8eaa0d commit 35092d7

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

apps/api/src/evidence-forms/evidence-forms.service.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -196,17 +196,19 @@ export class EvidenceFormsService {
196196
);
197197
}
198198

199-
try {
200-
const fileBuffer = Buffer.from(normalized, 'base64');
199+
const fileBuffer = Buffer.from(normalized, 'base64');
201200

202-
if (!fileBuffer.length) {
203-
throw new BadRequestException('File cannot be empty.');
204-
}
201+
if (fileBuffer.toString('base64') !== normalized) {
202+
throw new BadRequestException(
203+
'Invalid file data. Expected base64 string.',
204+
);
205+
}
205206

206-
return fileBuffer;
207-
} catch {
208-
throw new BadRequestException('Invalid file data. Expected base64 string.');
207+
if (!fileBuffer.length) {
208+
throw new BadRequestException('File cannot be empty.');
209209
}
210+
211+
return fileBuffer;
210212
}
211213

212214
/**

0 commit comments

Comments
 (0)