Giter VIP home page Giter VIP logo

cve-2021-29440's Introduction

CVE-2021-29440

Unsafe Twig processing of static pages leading to RCE in Grav CMS 1.7.10

  • Grav is a file based Web-platform. Twig processing of static pages can be enabled in the front matter by any administrative user allowed to create or edit pages. As the Twig processor runs unsandboxed, this behavior can be used to gain arbitrary code execution and elevate privileges on the instance.

Explanation

  • You need a user who has access to /admin dashboard with page creation privileges.
  • Front matter block supports a directive named process.twig, which will apply a Twig rendering pass on the content before serving the page.
  • While this behavior is disabled by default, users with basic page creation privileges enable this feature in the front matter
  • We create a page with content {{ system("id") }} and then enabling twig rendering : Advanced --> Process --> Twig (enable)
  • Visiting the created page to see the output of our command

Usage

  • Edit the username, password and url variable and then run the script
python3 exploit.py

Environment

  • Run environment.sh to setup Grav CMS 1.7.10 on apache.

Credits

cve-2021-29440's People

Contributors

csenox avatar

Stargazers

f3nr1r avatar 0xfd avatar โ € avatar Boschko avatar

Watchers

 avatar  avatar

Forkers

fdlucifer

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.