thinQtankLABS

Root-Cause & Secure-Code Remediation: CVE-2023-34960

Fix CVE-2023-34960 at the source. Read the vulnerable Chamilo LMS code, see how a crafted file name in a SOAP call was passed to a shell (CWE-78 OS Command Injection), reject a denylist, run the converter with an argument vector (no shell) and validate the file name, record hardening, and verify with audit and vulnscan.

Expert 20 guided steps 4 tasks About 80 minutes Runs in your browser

Skills you will practice

  • Secure software design
  • command-injection defense; OS Command Injection root cause and remediation; Secure architecture and attack-surface reduction

Certifications this lab maps to

This lab builds hands-on skills that appear on these certification exams. thinQtank Learning runs instructor-led training camps for each — click one to see upcoming classes.

Part of these certification lab packages: PenTest+ PT0-003 SecurityX (CASP+) CAS-005 CSSLP

The scenario

Triage upgraded Chamilo; IR handled the breach. You are the security engineer who has to fix the code and record the hardening. Start at the source.

What you will do

  1. Understand the root cause4 steps

    Open the source · Read the root-cause note · Read the vulnerable code · What is the sink?

  2. Audit and reject the weak fix4 steps

    Audit the vulnerable file · Read the proposed fix · Audit the weak fix · Why is the weak fix insufficient?

  3. Apply the fix and harden8 steps

    Read the correct fix · Audit the correct fix · What makes it safe? · Deploy the fix · …

  4. Reason and document4 steps

    Verify the deployed code · Two layers · Write the PR note · The principle

How this lab works

A real Linux-style console. Commands run against real files, so hashes, hex dumps and comparisons give real results.

A file browser where you can place evidence into the lab, either the file provided or one of your own.

Reset a single step, a whole task or the entire lab. The environment is rebuilt so you can try again cleanly.

Progress saves after every step. Close the tab and come back later; your files and answers are waiting.