Linux Distros Unpatched Vulnerability : CVE-2022-4993
| Reporter | Title | Published | Views | Family All 13 |
|---|---|---|---|---|
| CVE-2022-4993 | 13 Aug 202616:27 | – | attackerkb | |
| CVE-2022-4993 | 14 Aug 202612:20 | – | circl | |
| CVE-2022-4993 | 13 Aug 202616:27 | – | cve | |
| CVE-2022-4993 HTML::FormHandler versions through 0.40068 for Perl allow attacker selected method dispatch and resource exhaustion because _apply_actions and add_error use error message text built from request data as a Locale::Maketext bracket notation template | 13 Aug 202616:27 | – | cvelist | |
| CVE-2022-4993 | 13 Aug 202616:27 | – | debiancve | |
| EUVD-2022-56018 | 13 Aug 202616:27 | – | euvd | |
| CVE-2022-4993 | 13 Aug 202617:17 | – | nvd | |
| DEBIAN-CVE-2022-4993 | 13 Aug 202617:17 | – | osv | |
| UBUNTU-CVE-2022-4993 | 14 Aug 202600:00 | – | osv | |
| PT-2026-71693 | 13 Aug 202600:00 | – | ptsecurity |
10
| Source | Link |
|---|---|
| security-tracker | www.security-tracker.debian.org/tracker/CVE-2022-4993 |
| cve | www.cve.mitre.org/cgi-bin/cvename.cgi |
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##
include('compat.inc');
if (description)
{
script_id(335195);
script_version("1.2");
script_set_attribute(attribute:"plugin_modification_date", value:"2026/08/14");
script_cve_id("CVE-2022-4993");
script_name(english:"Linux Distros Unpatched Vulnerability : CVE-2022-4993");
script_set_attribute(attribute:"synopsis", value:
"The Linux/Unix host has one or more packages installed with a vulnerability that the vendor indicates will not be
patched.");
script_set_attribute(attribute:"description", value:
"The Linux/Unix host has one or more packages installed that are impacted by a vulnerability without a vendor supplied
patch available.
- HTML::FormHandler versions through 0.40068 for Perl allow attacker selected method dispatch and resource
exhaustion because _apply_actions and add_error use error message text built from request data as a
Locale::Maketext bracket notation template. add_error hands its first argument to the language handle as
the Locale::Maketext message key, and the default handle's lexicon sets `_AUTO`, so a string that is not a
lexicon entry is compiled as a bracket notation template instead of being looked up. In a bracket group
the first token names a method called on the language handle and the remaining tokens are its arguments.
Three kinds of text the library did not author reach that position. _apply_actions installs a
`$SIG{__WARN__}` handler that stores the warning text in `$error_message`, and a captured warning survives
a successful action, so a field carrying a numeric transform turns `Argument [sprintf,%50000000d,0]
isn't numeric` into the template; a warning quotes the submitted value verbatim, so the group is well
formed and dispatches. `$error_message ||= $tobj->validate($new_value)` takes a type constraint's own
failure message, which renders the rejected value through a partial dumper in bracket and comma form
(Devel::PartialDump when Moose can load it, Type::Tiny's own dumper always), so a field with `apply => [
Str ]` given a parameter sent more than once, which arrives as an array, gets `Reference [a,b] did not
pass type constraint Str` as its template, from a request that carries no bracket character of its own.
A coercion or transform exception reaches it the same way. Beyond those, a validator whose message
contains the field value puts that value in the template directly, and add_error replaces the message list
with the contents of an arrayref first argument (`@message = @{$message[0]} if ref $message[0] eq
'ARRAY'`), so a value arriving as an array fills the argument slots from the same request as well. A
malformed group such as `[0]` makes the compile croak, and HTML::FormHandler::I18N::maketext and add_error
each re-raise that as a die, so process() throws. A well formed group naming sprintf reaches CORE::sprintf
with an attacker chosen field width. Any caller that applies a type constraint or a transform to an
untrusted field, or whose validator passes an untrusted field value to add_error, can be made to throw an
unhandled exception out of process(), or to allocate an arbitrary amount of memory in one request, and an
application whose language handle subclass defines side effecting public methods makes those callable with
attacker chosen arguments. The dumped type constraint message is bounded to the exception, because both
dumpers quote non-numeric elements so the method slot is never an attacker chosen name. The built-in
messages pass fixed templates with the value in an argument slot, where it stays inert, and the built-in
field types attach explicit message callbacks, so neither is affected. (CVE-2022-4993)
Note that Nessus relies on the presence of the package as reported by the vendor.");
script_set_attribute(attribute:"see_also", value:"https://security-tracker.debian.org/tracker/CVE-2022-4993");
script_set_attribute(attribute:"solution", value:
"There is no known solution at this time.");
script_set_attribute(attribute:"agent", value:"unix");
script_set_attribute(attribute:"risk_factor", value:"High");
script_set_attribute(attribute:"cvss_score_source", value:"CVE-2022-4993");
script_set_attribute(attribute:"exploitability_ease", value:"No known exploits are available");
script_set_attribute(attribute:"exploit_available", value:"false");
script_set_attribute(attribute:"vendor_unpatched", value:"true");
script_set_attribute(attribute:"plugin_publication_date", value:"2026/08/13");
script_set_attribute(attribute:"plugin_type", value:"local");
script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:11.0");
script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:12.0");
script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:13.0");
script_set_attribute(attribute:"cpe", value:"cpe:/o:debian:debian_linux:14.0");
script_set_attribute(attribute:"cpe", value:"p-cpe:/a:debian:debian_linux:libhtml-formhandler-perl");
script_set_attribute(attribute:"generated_plugin", value:"current");
script_end_attributes();
script_category(ACT_GATHER_INFO);
script_family(english:"Misc.");
script_copyright(english:"This script is Copyright (C) 2026 and is owned by Tenable, Inc. or an Affiliate thereof.");
script_dependencies("ssh_get_info2.nasl", "set_linux_os_id.nasl");
script_require_keys("Host/cpu", "Host/local_checks_enabled", "global_settings/vendor_unpatched", "Host/OS/identifier");
script_require_ports("Host/OS/Debian Linux-11", "Host/OS/Debian Linux-12", "Host/OS/Debian Linux-13", "Host/OS/Debian Linux-14");
exit(0);
}
if (!get_kb_item("global_settings/vendor_unpatched")) exit(0, "Unpatched Vulnerabilities Detection not active.");
if (!get_kb_item("Host/local_checks_enabled")) audit(AUDIT_LOCAL_CHECKS_NOT_ENABLED);
if (empty_or_null(get_one_kb_item("Host/Debian/dpkg-l"))) audit(AUDIT_PACKAGE_LIST_MISSING);
include('linux_unpatched.inc');
var distro_constraints_array = {
"Debian Linux-11": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "11",
"pkgs": [
{"reference": "libhtml-formhandler-perl"}
]
}
]
},
"Debian Linux-12": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "12",
"pkgs": [
{"reference": "libhtml-formhandler-perl"}
]
}
]
},
"Debian Linux-13": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "13",
"pkgs": [
{"reference": "libhtml-formhandler-perl"}
]
}
]
},
"Debian Linux-14": {
"package_manager": "dpkg-l",
"constraints": [
{
"release": "14",
"pkgs": [
{"reference": "libhtml-formhandler-perl"}
]
}
]
}
};
var distro_constraints_values = linux_unpatched::get_distro_constraints(distro_constraints_arr:distro_constraints_array);
if (empty_or_null(distro_constraints_values)) audit(AUDIT_HOST_NOT, 'affected');
var third_party_support = get_kb_item('Host/OS/extended-third-party');
if (!empty_or_null(third_party_support)) {
var third_party_vendors = distro_constraints_values['third_party'];
if (!empty_or_null(third_party_vendors)) {
var vendor;
foreach vendor (third_party_vendors) {
if (vendor == third_party_support) exit(0, 'A third party management patch is available for this vulnerability from ' + vendor + '.\n');
}
}
}
var report = linux_unpatched::check_unpatched_constraints(distro_constraints_values:distro_constraints_values);
if (!empty_or_null(report))
{
security_report_v4(
port : 0,
severity : SECURITY_HOLE,
extra : report
);
exit(0);
}
else
{
audit(AUDIT_HOST_NOT, 'affected');
}
Data
Build on a solid foundation with Vulners data
We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data
Api
Power your application with Vulners API
The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access
App
Assess and manage vulnerabilities with Vulners tools
Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation
14 Aug 2026 00:00Current
5.7Medium risk
Vulners AI Score5.7
CVSS 3.19.1
EPSS0.00365
SSVC