Lucene search
+L

Atlassian Jira Service Management Data Center and Server 10.3.x < 10.3.16 (JSDSERVER-16491)

🗓️ 03 Feb 2026 00:00:00Reported by TenableType 
nessus
 nessus
🔗 www.tenable.com👁 8 Views

Jira Service Management before 10.3.16 suffers DoS via qs parse arrayLimit not applying to bracket notation.

Related
Refs
Code
#%NASL_MIN_LEVEL 80900
##
# (C) Tenable, Inc.
##

include('compat.inc');

if (description)
{
  script_id(297642);
  script_version("1.3");
  script_set_attribute(attribute:"plugin_modification_date", value:"2026/03/04");

  script_cve_id("CVE-2025-15284");

  script_name(english:"Atlassian Jira Service Management Data Center and Server 10.3.x < 10.3.16 (JSDSERVER-16491)");

  script_set_attribute(attribute:"synopsis", value:
"The remote Atlassian Jira Service Management Data Center and Server (Jira Service Desk) host is missing a security
update.");
  script_set_attribute(attribute:"description", value:
"The version of Atlassian Jira Service Management Data Center and Server (Jira Service Desk) running on the remote host
is affected by a vulnerability as referenced in the JSDSERVER-16491 advisory.

  - Improper Input Validation vulnerability in qs (parse modules) allows HTTP DoS.This issue affects qs: <
    6.14.1. SummaryThe arrayLimit option in qs does not enforce limits for bracket notation (a[]=1&a[]=2),
    allowing attackers to cause denial-of-service via memory exhaustion. Applications using arrayLimit for DoS
    protection are vulnerable. DetailsThe arrayLimit option only checks limits for indexed notation
    (a[0]=1&a[1]=2) but completely bypasses it for bracket notation (a[]=1&a[]=2). Vulnerable code
    (lib/parse.js:159-162): if (root === '[]' && options.parseArrays) { obj = utils.combine([], leaf); // No
    arrayLimit check } Working code (lib/parse.js:175): else if (index <= options.arrayLimit) { // Limit
    checked here obj = []; obj[index] = leaf; } The bracket notation handler at line 159 uses
    utils.combine([], leaf) without validating against options.arrayLimit, while indexed notation at line 175
    checks index <= options.arrayLimit before creating arrays. PoCTest 1 - Basic bypass: npm install qs const
    qs = require('qs'); const result = qs.parse('a[]=1&a[]=2&a[]=3&a[]=4&a[]=5&a[]=6', { arrayLimit: 5 });
    console.log(result.a.length); // Output: 6 (should be max 5) Test 2 - DoS demonstration: const qs =
    require('qs'); const attack = 'a[]=' + Array(10000).fill('x').join('&a[]='); const result =
    qs.parse(attack, { arrayLimit: 100 }); console.log(result.a.length); // Output: 10000 (should be max 100)
    Configuration: * arrayLimit: 5 (test 1) or arrayLimit: 100 (test 2) * Use bracket notation: a[]=value (not
    indexed a[0]=value) ImpactDenial of Service via memory exhaustion. Affects applications using qs.parse()
    with user-controlled input and arrayLimit for protection. Attack scenario: * Attacker sends HTTP request:
    GET /api/search?filters[]=x&filters[]=x&...&filters[]=x (100,000+ times) * Application parses with
    qs.parse(query, { arrayLimit: 100 }) * qs ignores limit, parses all 100,000 elements into array * Server
    memory exhausted  application crashes or becomes unresponsive * Service unavailable for all users Real-
    world impact: * Single malicious request can crash server * No authentication required * Easy to automate
    and scale * Affects any endpoint parsing query strings with bracket notation (CVE-2025-15284)

Note that Nessus has not tested for this issue but has instead relied only on the application's self-reported version
number.");
  script_set_attribute(attribute:"see_also", value:"https://jira.atlassian.com/browse/JSDSERVER-16491");
  script_set_attribute(attribute:"solution", value:
"Upgrade to Atlassian Jira Service Management Data Center and Server version 10.3.16 or later.");
  script_set_attribute(attribute:"agent", value:"all");
  script_set_cvss_base_vector("CVSS2#AV:N/AC:L/Au:N/C:N/I:N/A:C");
  script_set_cvss_temporal_vector("CVSS2#E:POC/RL:OF/RC:C");
  script_set_cvss3_base_vector("CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H");
  script_set_cvss3_temporal_vector("CVSS:3.0/E:P/RL:O/RC:C");
  script_set_attribute(attribute:"cvss4_vector", value:"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:L");
  script_set_attribute(attribute:"cvss4_threat_vector", value:"CVSS:4.0/E:P");
  script_set_attribute(attribute:"cvss_score_source", value:"CVE-2025-15284");

  script_set_attribute(attribute:"exploitability_ease", value:"Exploits are available");
  script_set_attribute(attribute:"exploit_available", value:"true");

  script_set_attribute(attribute:"vuln_publication_date", value:"2025/12/29");
  script_set_attribute(attribute:"patch_publication_date", value:"2026/01/02");
  script_set_attribute(attribute:"plugin_publication_date", value:"2026/02/03");

  script_set_attribute(attribute:"plugin_type", value:"local");
  script_set_attribute(attribute:"cpe", value:"cpe:/a:atlassian:jira_service_desk");
  script_set_attribute(attribute:"thorough_tests", value:"true");
  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("os_fingerprint.nasl", "jira_service_desk_installed_win.nbin", "jira_service_desk_installed_nix.nbin");
  script_require_keys("installed_sw/JIRA Service Desk Application");

  exit(0);
}

include('vdf.inc');

# @tvdl-content
var vuln_data = {
  'metadata': {'spec_version': '1.0'},
  'checks': [
    {
      'product': {'name': 'JIRA Service Desk Application', 'type': 'app'},
      'check_algorithm': 'default',
      'constraints' : [
        { 'min_version' : '10.3.0', 'fixed_version' : '10.3.16' }
      ]
    }
  ]
};

var vdf_result = vdf::check_and_report(vuln_data:vuln_data, severity:SECURITY_HOLE);
vdf::handle_check_and_report_errors(vdf_result:vdf_result);

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

04 Mar 2026 00:00Current
6.5Medium risk
Vulners AI Score6.5
CVSS 3.13.7
CVSS 46.3
EPSS0.00427
SSVC
8