Security Advisories (8)
CPANSA-Mojolicious-2022-03 (2022-12-10)

Mojo::DOM did not correctly parse <script> tags.

CPANSA-Mojolicious-2021-02 (2021-06-01)

Small sessions could be used as part of a brute-force attack to decode the session secret.

CVE-2021-47208 (2021-03-16)

A bug in format detection can potentially be exploited for a DoS attack.

CVE-2018-25100 (2018-02-13)

Mojo::UserAgent::CookieJar leaks old cookies because of the missing host_only flag on empty domain.

CPANSA-Mojolicious-2018-03 (2018-05-19)

Mojo::UserAgent was not checking peer SSL certificates by default.

CVE-2020-36829 (2020-11-10)

Mojo::Util secure_compare can leak the string length. By immediately returning when the two strings are not the same length, the function allows an attacker to guess the length of the secret string using timing attacks.

CPANSA-Mojolicious-2018-02 (2018-05-11)

GET requests with embedded backslashes can be used to access local files on Windows hosts

CVE-2024-58134 (2025-05-03)

Mojolicious versions from 0.999922 for Perl uses a hard coded string, or the application's class name, as a HMAC session secret by default. These predictable default secrets can be exploited to forge session cookies. An attacker who knows or guesses the secret could compute valid HMAC signatures for the session cookie, allowing them to tamper with or hijack another user's session.

NAME

Mojolicious::Command::daemon - Daemon command

SYNOPSIS

Usage: APPLICATION daemon [OPTIONS]

  ./myapp.pl daemon
  ./myapp.pl daemon -m production -l http://*:8080
  ./myapp.pl daemon -l http://127.0.0.1:8080 -l https://[::]:8081
  ./myapp.pl daemon -l 'https://*:443?cert=./server.crt&key=./server.key'

Options:
  -b, --backlog <size>                 Listen backlog size, defaults to
                                       SOMAXCONN
  -c, --clients <number>               Maximum number of concurrent
                                       connections, defaults to 1000
  -h, --help                           Show this summary of available options
      --home <path>                    Path to home directory of your
                                       application, defaults to the value of
                                       MOJO_HOME or auto-detection
  -i, --inactivity-timeout <seconds>   Inactivity timeout, defaults to the
                                       value of MOJO_INACTIVITY_TIMEOUT or 15
  -l, --listen <location>              One or more locations you want to
                                       listen on, defaults to the value of
                                       MOJO_LISTEN or "http://*:3000"
  -m, --mode <name>                    Operating mode for your application,
                                       defaults to the value of
                                       MOJO_MODE/PLACK_ENV or "development"
  -p, --proxy                          Activate reverse proxy support,
                                       defaults to the value of
                                       MOJO_REVERSE_PROXY
  -r, --requests <number>              Maximum number of requests per
                                       keep-alive connection, defaults to 100

DESCRIPTION

Mojolicious::Command::daemon starts applications with the Mojo::Server::Daemon backend.

This is a core command, that means it is always enabled and its code a good example for learning to build new commands, you're welcome to fork it.

See "COMMANDS" in Mojolicious::Commands for a list of commands that are available by default.

ATTRIBUTES

Mojolicious::Command::daemon inherits all attributes from Mojolicious::Command and implements the following new ones.

description

my $description = $daemon->description;
$daemon         = $daemon->description('Foo');

Short description of this command, used for the command list.

usage

my $usage = $daemon->usage;
$daemon   = $daemon->usage('Foo');

Usage information for this command, used for the help screen.

METHODS

Mojolicious::Command::daemon inherits all methods from Mojolicious::Command and implements the following new ones.

run

$daemon->run(@ARGV);

Run this command.

SEE ALSO

Mojolicious, Mojolicious::Guides, http://mojolicious.org.