Browse Source

fix NoSQL injection

Yuki Takei 3 months ago
parent
commit
2d94931ef7
1 changed files with 4 additions and 2 deletions
  1. 4 2
      apps/app/src/server/routes/tag.js

+ 4 - 2
apps/app/src/server/routes/tag.js

@@ -128,7 +128,7 @@ module.exports = (crowi, app) => {
     const result = {};
     const result = {};
     try {
     try {
       // TODO GC-1921 consider permission
       // TODO GC-1921 consider permission
-      const page = await Page.findById(pageId);
+      const page = await Page.findOne({ _id: { $eq: pageId } });
       const user = await User.findById(userId);
       const user = await User.findById(userId);
 
 
       if (!(await Page.isAccessiblePageByViewer(page._id, user))) {
       if (!(await Page.isAccessiblePageByViewer(page._id, user))) {
@@ -137,7 +137,9 @@ module.exports = (crowi, app) => {
         );
         );
       }
       }
 
 
-      const previousRevision = await Revision.findById(revisionId);
+      const previousRevision = await Revision.findOne({
+        _id: { $eq: revisionId },
+      });
       result.savedPage = await crowi.pageService.updatePage(
       result.savedPage = await crowi.pageService.updatePage(
         page,
         page,
         previousRevision.body,
         previousRevision.body,