ImportEtherpad: Reject unknown DB records

This commit is contained in:
Richard Hansen 2021-11-25 02:05:09 -05:00
parent 8e9bc8d325
commit 00fc7c8e86
2 changed files with 16 additions and 5 deletions

View file

@ -2,6 +2,7 @@
const assert = require('assert').strict;
const authorManager = require('../../../node/db/AuthorManager');
const db = require('../../../node/db/DB');
const importEtherpad = require('../../../node/utils/ImportEtherpad');
const padManager = require('../../../node/db/PadManager');
const {randomString} = require('../../../static/js/pad_utils');
@ -52,6 +53,15 @@ describe(__filename, function () {
assert(!await padManager.doesPadExist(padId));
});
it('unknown db records are ignored', async function () {
const badKey = `maliciousDbKey${randomString(10)}`;
await importEtherpad.setPadRaw(padId, JSON.stringify({
[badKey]: 'value',
...makeExport(makeAuthorId()),
}));
assert(await db.get(badKey) == null);
});
describe('author pad IDs', function () {
let existingAuthorId;
let newAuthorId;