Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Content

Table of Contents
maxLevel6
minLevel1
include
outlinefalse
indent
excludeContent
typelist
printablefalse
class

Overview

Page Properties
idoverview

Date

2022-08-24

Status

Status
colourYellow
titleWIP

Release

Release 2022-04

TestType

automatic

TestTopic

Code Review

Project

Project: Security 2022

Tester

SecurityOne

Standard

Background: Open Web Application Security Project (OWASP)

Result Summary

Vulnerabilities

Page Properties

Risk

Count

Critical

3

High

2

Medium

4

Low

0

We don't have a way to export this macro.

OWASP Top 10

Detailed Results

Vulnerability

Risk

Component

Impact

Status

Multiple outdated dependencies in frontend Dockerfile

Critical

npm node:16 base image

The base image should be upgraded to node:16.17.0-bullseye-slim

(tick)

Multiple outdated dependencies in backend Dockerfile

Critical

python:3.8-buster

The base image should be upgraded to python:3.9.13-slim

(tick)

Multiple outdated dependencies in requirements.txt

Critical

pyjwt@1.7.0
django@3.0.14
gitpython@3.1.24

The following modules/libraries should be upgraded to:
pyjwt@2.4.0
django@3.2.15
gitpython@3.1.27

(tick)

Multiple outdated dependencies in package.json

High

react-scripts@4.0.3

The following modules/libraries should be upgraded to react-scripts@5.0.0

(tick)

Password Stored as Environment Variable in plaintext

High

DB_Password

Consider storing the password in any encrypted form (secure string on Windows or AES encrypted on Linux systems)

(tick)

Cross-Site Request Forgery (CSRF)

Medium

openimis-fe_js/server.js

Considering that the underlying application is built on express, a specific middleware such as csurf should be use that implement CSRF protections

🧑‍🏭

Command Injection

Medium

openimis-fe_js/dev_tools/installModuleLocally.js

Any user input should be first sanitized and then strongly checked to respect specific formats (blacklists/regex match) before being used in a shell command.

🧑‍🏭

Information Exposure

Medium

openimis-fe_js/server.js

Consider using the Helmet middleware that disables the X-Powered-By header

🧑‍🏭

Allocation of Resources Without Limits or Throttling

Medium

openimis-fe_js/server.js

Consider using a rate-limiting middleware such as express-limit

🧑‍🏭

Remediation

All critical and high risk errors were fixed immedeatly ((tick) ). Lower risk errors were adressed in the issue queue (🧑‍🏭 ). No instances in countries were affected.

Report

View file
nameOpenIMIS - Source Code Review.pdf

PDF
nameOpenIMIS - Source Code Review.pdf