Jeecgboot
Monthly
Any authenticated user, including low-privileged accounts, can delete organizational positions in JeecgBoot 3.9.5 and earlier by exploiting a missing authorization check in the SysPositionController deleteBatch handler. Attackers harvest valid position IDs from an unguarded list endpoint and submit them as a comma-separated list, destroying sys_position records and orphaning user-position assignments. This is a moderate-severity data-destruction issue, reflected by the assessed CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L; publicly available exploit code exists, but no active exploitation is confirmed in CISA KEV.
Missing authorization in JeecgBoot through 3.9.5 lets any low-privileged authenticated user delete SMS message templates by issuing a DELETE request to /sys/message/sysMessageTemplate/deleteBatch with comma-separated IDs harvested from the separately unguarded template list endpoint. The result is integrity and availability loss confined to the sys_sms_template table - deletion of all template rows breaks template-driven notifications such as workflow reminders - with no confidentiality exposure, making this a genuine but moderate-severity issue rather than a top-priority emergency. Publicly available exploit code exists (a PoC script deleting routes is published on GitHub), but there is no confirmation of active exploitation (not in CISA KEV), and exploitation still requires a valid authenticated session plus network reachability to the management API.
Low-privileged authenticated users of JeecgBoot through 3.9.5 can overwrite system notification templates via the PUT /sys/message/sysMessageTemplate/edit endpoint, which lacks an authorization check, allowing attacker-controlled text or links to be injected into messages delivered to other users. Publicly available exploit code exists, but exploitation requires a valid low-privileged account and enumeration of template IDs from an unguarded list endpoint; there is no confirmed active exploitation (not in CISA KEV). The impact is confined to integrity tampering of notification content, with no confidentiality or availability impact per the assessed CVSS:3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N).
Missing function-level authorization in JeecgBoot through 3.9.5 (CWE-862) allows any authenticated user holding only a low-privileged role to create arbitrary notification templates by calling POST /sys/message/sysMessageTemplate/add. Because the SysMessageTemplateController handler performs no permission check, an attacker with minimal credentials can insert templates with attacker-chosen codes and content into the shared sys_sms_template library used for system, email, SMS and IM notifications, giving an integrity-only impact on the template store rather than host or data compromise. Publicly available exploit code exists (no CISA KEV confirmation of active exploitation), and our independent assessment scores this as a medium-severity authorization flaw (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) that is not an urgent priority.
Missing authorization in JeecgBoot through 3.9.5 allows any authenticated low-privileged user to delete AI evaluator records via the AiragExtDataController deleteBatch handler. The endpoint DELETE /airag/extData/deleteBatch accepts comma-separated IDs and lacks owner or tenant checks, enabling deletion of other users' evaluator and test-tracking records. Publicly available exploit code exists, but exploitation requires a valid low-privileged session and the AiRAG module to be enabled; this is a medium-severity broken access control issue (CWE-862) with no confidentiality or code execution impact.
Authenticated users of JeecgBoot through 3.9.5 holding only low privileges can delete other users' AI evaluator and test-tracking records by sending a DELETE request to the /airag/extData/delete endpoint with an arbitrary id value, because the AiragExtDataController delete handler performs no owner or tenant ownership check (CWE-862). The flaw is remote and network-reachable and requires a valid session (CVSS PR:L), so anonymous attackers cannot exploit it, and the impact is limited to integrity and availability of AI-RAG records rather than confidentiality loss or code execution. Publicly available exploit code exists (a Python PoC is published on GitHub), but there is no CISA KEV confirmation of active exploitation; independent assessment rates this as a genuine but moderate-severity access-control issue, with the missing tenant check acting as a risk amplifier in multi-tenant deployments where cross-tenant deletion becomes possible.
Missing authorization in the AiragExtDataController exportXls handler of JeecgBoot (through 3.9.5) allows any authenticated account, regardless of role, to download every user's airag_ext_data records - AI evaluator definitions and test-tracking data - as an Excel workbook via a request to /airag/extData/exportXls. Exploitation requires a valid account of any privilege level (CVSS 3.1 AV:N/AC:L/PR:L/UI:N, scored 5.3) and only affects instances that actually deploy the airag module; publicly available exploit code exists, but there is no confirmed active exploitation (CISA KEV). Because the impact is read-only information disclosure (C:L, no integrity or availability effect), this is a moderate-priority exposure tied to the sensitivity of the exported AI evaluator and prompt data rather than a critical one.
Missing authorization in JeecgBoot 3.9.5 and earlier allows any authenticated low-privileged user to publish or unpublish AI applications owned by other users by sending a POST request to /airag/app/release, enabling them to harvest share tokens that expose other tenants' AI applications to anonymous chat access or to invalidate existing share links. The defect is CWE-862, and the assessed impact is limited to low integrity and low availability with no confidentiality loss, scored 5.3 (CVSS 3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L; vendor-supplied CVSS 4.0 vector similarly shows PR:L with VI:L/VA:L). Publicly available exploit code exists, but there is no confirmation of active exploitation (no CISA KEV listing in the provided data). Because the vector requires PR:L and UI:N, the realistic threat is an insider or an attacker holding compromised low-privileged credentials with network reachability to the airag module, not an anonymous internet attacker.
Missing authorization in JeecgBoot through version 3.9.5 allows authenticated low-privileged users to delete arbitrary word templates from the shared library via the /airag/word/deleteBatch endpoint. The flaw resides in the AigcWordTemplateController's deleteBatch handler, which fails to enforce proper access controls (CWE-862), enabling an attacker with any valid account to permanently remove templates by sending a DELETE request with comma-separated IDs. Publicly available exploit code exists, and while the impact is limited to integrity and availability of templates (no confidentiality loss), it represents a medium-severity, low-priority risk for deployments exposing the AIRAG module to semi-trusted users.
Deleting word templates in JeecgBoot through 3.9.5 is not access-controlled: the AigcWordTemplateController delete handler behind DELETE /airag/word/delete accepts an id parameter from any authenticated account and permanently removes the referenced template from the shared library, including templates owned by other users. Exploitation is remote and requires only a valid low-privileged JeecgBoot login (CVSS PR:L) with the AIRAG word-template module deployed and reachable; publicly available exploit code exists, though there is no confirmation of active exploitation in the wild. Impact is confined to integrity and availability of the template library - no data disclosure, no code execution - making this a genuine but low-tier priority where exposure depends on how freely low-privileged accounts are provisioned.
Any low-privileged authenticated user of JeecgBoot through 3.9.5 can overwrite shared Word document templates by sending PUT or POST requests to the /airag/word/edit endpoint, because the AigcWordTemplateController edit handler performs no authorization or ownership check. The impact is limited to integrity of shared templates used by other users for document generation - no data disclosure or service disruption - with an assessed severity of CVSS 3.1 5.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N). Publicly available exploit code exists (a proof-of-concept Python script published on GitHub), though there is no indication of confirmed active exploitation (no CISA KEV listing), and exploitation requires valid credentials plus a deployment where the AIRAG word-template feature is enabled and in use.
Authenticated users of JeecgBoot through 3.9.5 can read other users' AI voice-generation history by supplying an arbitrary victim identifier in the userId parameter of GET /airag/voice/listByUser, an insecure direct object reference (CWE-639) in the airag voice controller where the endpoint trusts the client-supplied id instead of the session identity. Requirement to exploit is a valid low-privilege account (CVSS vector PR:L) plus knowledge or enumeration of another user's id, after which an attacker can retrieve submitted text-to-speech input, voice settings, timestamps, and generated audio file names and paths stored in Redis; no user interaction or elevated privilege is needed and the AI voice module must be present and in use. Impact is confidentiality-only with no write or availability effect, and publicly available exploit code exists (no confirmation of active exploitation and no KEV listing).
Authenticated JeecgBoot users running version 3.9.5 or earlier can delete other users' stored AI voice (text-to-speech) history by passing an arbitrary userId to the DELETE /airag/voice/deleteVoiceRecord endpoint, which trusts the client-supplied identifier instead of the caller's session identity. Victims' record IDs are easily enumerated from the ownership-unchecked GET /airag/voice/listByUser endpoint, and deletion proceeds one record per request against history held in Redis; a publicly available exploit script is referenced in the VulnCheck advisory. Impact is limited to unauthorized modification (loss) of voice records with no confidentiality or host availability impact, there is no CISA KEV listing, and any valid authenticated account, regardless of privilege level, is sufficient to exploit the flaw.
Authenticated users can delete other users' AI video generation records in JeecgBoot through 3.9.5 by exploiting an insecure direct object reference (IDOR) in the DELETE /airag/video/deleteVideoRecord endpoint, which accepts arbitrary userId values without ownership checks. Attackers can first retrieve record IDs from the unchecked GET /airag/video/listByUser endpoint, then delete victims' Redis-stored video history entries one record per request. Publicly available exploit code exists (no CISA KEV confirmation), and exploitation requires a valid authenticated account; impact is limited to integrity of video history records with no confidentiality or availability impact.
Authenticated low-privileged users of JeecgBoot through 3.9.5 can delete arbitrary shared OCR prompt records via the AiOcrController deleteById handler, which performs no authorization or ownership check. Attackers first enumerate record IDs from the unguarded GET /airag/ocr/list endpoint and then repeatedly invoke the delete action, wiping records stored in Redis. Publicly available exploit code exists (GitHub PoC), and the issue is rated moderate (assessed CVSS 3.1 5.3, PR:L) because it requires a valid account and only affects availability/integrity of OCR records, with no confidentiality or code-execution impact.
Missing authorization in JeecgBoot through 3.9.5 allows any authenticated low-privileged user to overwrite the global OCR/LLM prompt templates used by the AiRAG module by sending a PUT request to /airag/ocr/edit, writing attacker-controlled content into the shared airag:ocr Redis key and corrupting OCR output for every user of the instance. Exploitation requires only a valid low-privilege account (PR:L in the CVSS vector) and no user interaction, and publicly available exploit code exists; the issue is not listed as confirmed actively exploited (CISA KEV). The impact is confined to integrity tampering with shared prompt configuration - no data disclosure and no denial of service - which is consistent with the assessed CVSS:3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N and makes this a genuine but low-to-moderate priority issue.
Improper access control in JeecgBoot's AI-RAG module (versions up to 3.9.3) permits a low-privileged authenticated user to invoke the exportXls endpoint in AiragModelController.java and extract LLM model credentials by manipulating the credential parameter beyond their authorization level. The attack is network-accessible and requires only a valid low-privileged session with no administrative rights. A public proof-of-concept is available via GitHub issue #9600, and a vendor patch has been released in version 3.9.5.
Server-side request forgery (SSRF) in JeecgBoot's AI RAG chat endpoint (/airag/chat/send) exposes unauthenticated remote attackers a direct path to make the application server issue arbitrary HTTP requests to internal or external network resources. All versions up to and including 3.9.2 are affected, with the flaw residing in the Anonymous Chat Attachment Parser component - meaning no login is required to trigger it. Public exploit code exists via a GitHub issue (no public exploit identified as actively exploited per CISA KEV), and no vendor-released patch is available at time of analysis.
Open redirect in JeecgBoot's ThirdLoginController (versions 3.9.0-3.9.2) allows remote attackers to manipulate the OAuth `state` parameter and redirect victims to attacker-controlled URLs via the third-party login flow. The vendor's own assessment confirms low real-world exploitability: successful exploitation requires social engineering to induce victims into clicking a crafted OAuth login link, and the affected third-party login feature (DingTalk, WeChat) is optional and likely disabled in most deployments. Publicly available exploit code exists, but no KEV listing indicates active exploitation campaigns at time of analysis.
Information disclosure in JeecgBoot up to 3.9.2 allows authenticated remote attackers to extract password salt values by manipulating the `salt` argument in the `queryPageList` function of the User List Endpoint (`SysUserController.java`). While the CVSS score is low (3.1) due to high attack complexity and a low-privilege authentication requirement, a publicly available proof-of-concept (GitHub issue #9648) exists and no vendor patch has been released - only one planned for a future version. Exposure of salt values is particularly sensitive as it can facilitate offline password hash cracking if hashes are separately obtained.
Improper access control in JeecgBoot's AiragModelController (versions up to 3.9.1) permits any authenticated low-privilege user to invoke the list and queryById API endpoints without proper authorization checks, exposing AI RAG model configuration data restricted to higher-privileged roles. The CVSS vector (PR:L, C:L) confirms this is an authorization bypass rather than a full authentication bypass, limiting impact to confidentiality of AI model metadata. Publicly available exploit code exists (GitHub issue #9599, referenced in the exploit tag), though no CISA KEV listing indicates confirmed widespread active exploitation at time of analysis.
Improper access control in JeecgBoot through version 3.9.1 exposes the LoginController.selectDepart endpoint at /sys/selectDepart, allowing remote attackers to bypass authorization checks tied to department/tenant selection during login. Publicly available exploit code exists per VulDB disclosure, and the vendor has shipped a fix in v3.9.2. No active in-the-wild exploitation has been confirmed (not in CISA KEV), but the public POC and network-reachable attack surface make opportunistic abuse plausible.
Improper access control in JeecgBoot versions up to 3.9.1 allows authenticated low-privileged remote attackers to bypass authorization checks by manipulating the `userIdentity` argument in the SysUser component's `user.getUsername` function at the `/sys/user/login/setting/userEdit` endpoint. A publicly available proof-of-concept exploit exists via GitHub issue #9596, increasing practical risk for any multi-user JeecgBoot deployment where adversaries hold a low-privileged account. Vendor-released patch v3.9.2 is available and explicitly remediates this access control failure alongside several other high-severity issues including RCE and SSRF, indicating a broad security hardening effort in this release cycle.
Improper authentication in JeecgBoot 3.9.1 OpenAPI endpoint allows remote attackers to bypass authentication checks and perform unauthorized actions, though exploitation is rated difficult due to high attack complexity. No public exploit code has been identified and no vendor response has been received. With CVSS 3.7 (Low severity) and AV:N/AC:H/PR:N parameters, the vulnerability poses limited immediate risk but requires monitoring given the authentication bypass nature and remote attack vector.
Authentication bypass in JeecgBoot 3.9.1 mLogin endpoint allows remote attackers to circumvent login controls via manipulation of an unspecified function in LoginController.java, resulting in unauthorized access with confidentiality impact. The vulnerability has high attack complexity and difficult exploitability, but publicly available exploit code exists and the vendor has not responded to disclosure.
Server-side request forgery in JeecgBoot up to 3.9.1 allows authenticated remote attackers to manipulate the CommonController.uploadImgByHttp endpoint and trigger arbitrary HTTP requests from the server, with publicly available exploit code and vendor confirmation of the issue. The vulnerability affects the image upload functionality through HttpFileToMultipartFileUtil.httpFileToMultipartFile and downloadImageData methods, enabling attackers with valid credentials to abuse the application as a proxy for outbound requests.
SQL injection in JeecgBoot up to version 3.9.1 allows authenticated remote attackers to execute arbitrary SQL commands through the loadDict endpoint by manipulating the keyword parameter in the SqlInjectionUtil function. The vulnerability has a CVSS score of 6.3 with network-accessible attack vector, and publicly available exploit code exists; patch availability is confirmed via GitHub commit a9c8e8eb1185751c4c3c68d2a53f3dadee9edc6b.
Improper authorization in JeecgBoot up to version 3.9.1 allows authenticated remote attackers to bypass access controls in the SysAnnouncementController component, potentially leading to unauthorized data modification and disclosure. The vulnerability has a CVSS score of 6.3 (medium severity) and carries an EPSS severity rating reflecting real-world exploitability; publicly available exploit code exists and the vendor has confirmed the issue with a patch expected in an upcoming release.
Code injection in JimuReport's Data Source Handler allows authenticated high-privilege users to execute arbitrary code via manipulated dbUrl parameters in the DriverManager.getConnection function (versions up to 2.3.0). The vulnerability requires high-privilege authentication but can be exploited remotely with low attack complexity; publicly available exploit code exists and the vendor has acknowledged the issue with a fix planned for an upcoming release.
Missing authentication in JeecgBoot 3.9.0 and 3.9.1 allows unauthenticated remote attackers to access the AI Chat Module functionality without credential verification. The vulnerability resides in JeecgBizToolsProvider.java within the jeecg-module-system component. Vendor-released patches are available via GitHub commits (b7c9aeba and 2c1cc88b) pending inclusion in the next official release. No public exploit code or active exploitation confirmed at time of analysis, though the low attack complexity (AC:L) and network attack vector (AV:N) with no authentication required (PR:N) indicate trivial exploitation potential.
JeecgBoot versions from 3.4.3 up to 3.8.0 were found to contain a SQL injection vulnerability in the /jeecg-boot/online/cgreport/head/parseSql endpoint, which allows bypassing SQL blacklist. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. Public exploit code available and no vendor patch available.
SQL injection vulnerability in Beijing Guoju Information Technology Co., Ltd JeecgBoot v.3.7.2 allows a remote attacker to obtain sensitive information via the getTotalData component. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. Public exploit code available and no vendor patch available.
JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryFilterTableDictInfo at org.jeecg.modules.api.controller.SystemApiController. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. Public exploit code available and no vendor patch available.
JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryTableDictItemsByCode at org.jeecg.modules.api.controller.SystemApiController. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. Public exploit code available and no vendor patch available.
Any authenticated user, including low-privileged accounts, can delete organizational positions in JeecgBoot 3.9.5 and earlier by exploiting a missing authorization check in the SysPositionController deleteBatch handler. Attackers harvest valid position IDs from an unguarded list endpoint and submit them as a comma-separated list, destroying sys_position records and orphaning user-position assignments. This is a moderate-severity data-destruction issue, reflected by the assessed CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L; publicly available exploit code exists, but no active exploitation is confirmed in CISA KEV.
Missing authorization in JeecgBoot through 3.9.5 lets any low-privileged authenticated user delete SMS message templates by issuing a DELETE request to /sys/message/sysMessageTemplate/deleteBatch with comma-separated IDs harvested from the separately unguarded template list endpoint. The result is integrity and availability loss confined to the sys_sms_template table - deletion of all template rows breaks template-driven notifications such as workflow reminders - with no confidentiality exposure, making this a genuine but moderate-severity issue rather than a top-priority emergency. Publicly available exploit code exists (a PoC script deleting routes is published on GitHub), but there is no confirmation of active exploitation (not in CISA KEV), and exploitation still requires a valid authenticated session plus network reachability to the management API.
Low-privileged authenticated users of JeecgBoot through 3.9.5 can overwrite system notification templates via the PUT /sys/message/sysMessageTemplate/edit endpoint, which lacks an authorization check, allowing attacker-controlled text or links to be injected into messages delivered to other users. Publicly available exploit code exists, but exploitation requires a valid low-privileged account and enumeration of template IDs from an unguarded list endpoint; there is no confirmed active exploitation (not in CISA KEV). The impact is confined to integrity tampering of notification content, with no confidentiality or availability impact per the assessed CVSS:3.1 vector (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N).
Missing function-level authorization in JeecgBoot through 3.9.5 (CWE-862) allows any authenticated user holding only a low-privileged role to create arbitrary notification templates by calling POST /sys/message/sysMessageTemplate/add. Because the SysMessageTemplateController handler performs no permission check, an attacker with minimal credentials can insert templates with attacker-chosen codes and content into the shared sys_sms_template library used for system, email, SMS and IM notifications, giving an integrity-only impact on the template store rather than host or data compromise. Publicly available exploit code exists (no CISA KEV confirmation of active exploitation), and our independent assessment scores this as a medium-severity authorization flaw (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N) that is not an urgent priority.
Missing authorization in JeecgBoot through 3.9.5 allows any authenticated low-privileged user to delete AI evaluator records via the AiragExtDataController deleteBatch handler. The endpoint DELETE /airag/extData/deleteBatch accepts comma-separated IDs and lacks owner or tenant checks, enabling deletion of other users' evaluator and test-tracking records. Publicly available exploit code exists, but exploitation requires a valid low-privileged session and the AiRAG module to be enabled; this is a medium-severity broken access control issue (CWE-862) with no confidentiality or code execution impact.
Authenticated users of JeecgBoot through 3.9.5 holding only low privileges can delete other users' AI evaluator and test-tracking records by sending a DELETE request to the /airag/extData/delete endpoint with an arbitrary id value, because the AiragExtDataController delete handler performs no owner or tenant ownership check (CWE-862). The flaw is remote and network-reachable and requires a valid session (CVSS PR:L), so anonymous attackers cannot exploit it, and the impact is limited to integrity and availability of AI-RAG records rather than confidentiality loss or code execution. Publicly available exploit code exists (a Python PoC is published on GitHub), but there is no CISA KEV confirmation of active exploitation; independent assessment rates this as a genuine but moderate-severity access-control issue, with the missing tenant check acting as a risk amplifier in multi-tenant deployments where cross-tenant deletion becomes possible.
Missing authorization in the AiragExtDataController exportXls handler of JeecgBoot (through 3.9.5) allows any authenticated account, regardless of role, to download every user's airag_ext_data records - AI evaluator definitions and test-tracking data - as an Excel workbook via a request to /airag/extData/exportXls. Exploitation requires a valid account of any privilege level (CVSS 3.1 AV:N/AC:L/PR:L/UI:N, scored 5.3) and only affects instances that actually deploy the airag module; publicly available exploit code exists, but there is no confirmed active exploitation (CISA KEV). Because the impact is read-only information disclosure (C:L, no integrity or availability effect), this is a moderate-priority exposure tied to the sensitivity of the exported AI evaluator and prompt data rather than a critical one.
Missing authorization in JeecgBoot 3.9.5 and earlier allows any authenticated low-privileged user to publish or unpublish AI applications owned by other users by sending a POST request to /airag/app/release, enabling them to harvest share tokens that expose other tenants' AI applications to anonymous chat access or to invalidate existing share links. The defect is CWE-862, and the assessed impact is limited to low integrity and low availability with no confidentiality loss, scored 5.3 (CVSS 3.1: AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:L; vendor-supplied CVSS 4.0 vector similarly shows PR:L with VI:L/VA:L). Publicly available exploit code exists, but there is no confirmation of active exploitation (no CISA KEV listing in the provided data). Because the vector requires PR:L and UI:N, the realistic threat is an insider or an attacker holding compromised low-privileged credentials with network reachability to the airag module, not an anonymous internet attacker.
Missing authorization in JeecgBoot through version 3.9.5 allows authenticated low-privileged users to delete arbitrary word templates from the shared library via the /airag/word/deleteBatch endpoint. The flaw resides in the AigcWordTemplateController's deleteBatch handler, which fails to enforce proper access controls (CWE-862), enabling an attacker with any valid account to permanently remove templates by sending a DELETE request with comma-separated IDs. Publicly available exploit code exists, and while the impact is limited to integrity and availability of templates (no confidentiality loss), it represents a medium-severity, low-priority risk for deployments exposing the AIRAG module to semi-trusted users.
Deleting word templates in JeecgBoot through 3.9.5 is not access-controlled: the AigcWordTemplateController delete handler behind DELETE /airag/word/delete accepts an id parameter from any authenticated account and permanently removes the referenced template from the shared library, including templates owned by other users. Exploitation is remote and requires only a valid low-privileged JeecgBoot login (CVSS PR:L) with the AIRAG word-template module deployed and reachable; publicly available exploit code exists, though there is no confirmation of active exploitation in the wild. Impact is confined to integrity and availability of the template library - no data disclosure, no code execution - making this a genuine but low-tier priority where exposure depends on how freely low-privileged accounts are provisioned.
Any low-privileged authenticated user of JeecgBoot through 3.9.5 can overwrite shared Word document templates by sending PUT or POST requests to the /airag/word/edit endpoint, because the AigcWordTemplateController edit handler performs no authorization or ownership check. The impact is limited to integrity of shared templates used by other users for document generation - no data disclosure or service disruption - with an assessed severity of CVSS 3.1 5.3 (AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N). Publicly available exploit code exists (a proof-of-concept Python script published on GitHub), though there is no indication of confirmed active exploitation (no CISA KEV listing), and exploitation requires valid credentials plus a deployment where the AIRAG word-template feature is enabled and in use.
Authenticated users of JeecgBoot through 3.9.5 can read other users' AI voice-generation history by supplying an arbitrary victim identifier in the userId parameter of GET /airag/voice/listByUser, an insecure direct object reference (CWE-639) in the airag voice controller where the endpoint trusts the client-supplied id instead of the session identity. Requirement to exploit is a valid low-privilege account (CVSS vector PR:L) plus knowledge or enumeration of another user's id, after which an attacker can retrieve submitted text-to-speech input, voice settings, timestamps, and generated audio file names and paths stored in Redis; no user interaction or elevated privilege is needed and the AI voice module must be present and in use. Impact is confidentiality-only with no write or availability effect, and publicly available exploit code exists (no confirmation of active exploitation and no KEV listing).
Authenticated JeecgBoot users running version 3.9.5 or earlier can delete other users' stored AI voice (text-to-speech) history by passing an arbitrary userId to the DELETE /airag/voice/deleteVoiceRecord endpoint, which trusts the client-supplied identifier instead of the caller's session identity. Victims' record IDs are easily enumerated from the ownership-unchecked GET /airag/voice/listByUser endpoint, and deletion proceeds one record per request against history held in Redis; a publicly available exploit script is referenced in the VulnCheck advisory. Impact is limited to unauthorized modification (loss) of voice records with no confidentiality or host availability impact, there is no CISA KEV listing, and any valid authenticated account, regardless of privilege level, is sufficient to exploit the flaw.
Authenticated users can delete other users' AI video generation records in JeecgBoot through 3.9.5 by exploiting an insecure direct object reference (IDOR) in the DELETE /airag/video/deleteVideoRecord endpoint, which accepts arbitrary userId values without ownership checks. Attackers can first retrieve record IDs from the unchecked GET /airag/video/listByUser endpoint, then delete victims' Redis-stored video history entries one record per request. Publicly available exploit code exists (no CISA KEV confirmation), and exploitation requires a valid authenticated account; impact is limited to integrity of video history records with no confidentiality or availability impact.
Authenticated low-privileged users of JeecgBoot through 3.9.5 can delete arbitrary shared OCR prompt records via the AiOcrController deleteById handler, which performs no authorization or ownership check. Attackers first enumerate record IDs from the unguarded GET /airag/ocr/list endpoint and then repeatedly invoke the delete action, wiping records stored in Redis. Publicly available exploit code exists (GitHub PoC), and the issue is rated moderate (assessed CVSS 3.1 5.3, PR:L) because it requires a valid account and only affects availability/integrity of OCR records, with no confidentiality or code-execution impact.
Missing authorization in JeecgBoot through 3.9.5 allows any authenticated low-privileged user to overwrite the global OCR/LLM prompt templates used by the AiRAG module by sending a PUT request to /airag/ocr/edit, writing attacker-controlled content into the shared airag:ocr Redis key and corrupting OCR output for every user of the instance. Exploitation requires only a valid low-privilege account (PR:L in the CVSS vector) and no user interaction, and publicly available exploit code exists; the issue is not listed as confirmed actively exploited (CISA KEV). The impact is confined to integrity tampering with shared prompt configuration - no data disclosure and no denial of service - which is consistent with the assessed CVSS:3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:N and makes this a genuine but low-to-moderate priority issue.
Improper access control in JeecgBoot's AI-RAG module (versions up to 3.9.3) permits a low-privileged authenticated user to invoke the exportXls endpoint in AiragModelController.java and extract LLM model credentials by manipulating the credential parameter beyond their authorization level. The attack is network-accessible and requires only a valid low-privileged session with no administrative rights. A public proof-of-concept is available via GitHub issue #9600, and a vendor patch has been released in version 3.9.5.
Server-side request forgery (SSRF) in JeecgBoot's AI RAG chat endpoint (/airag/chat/send) exposes unauthenticated remote attackers a direct path to make the application server issue arbitrary HTTP requests to internal or external network resources. All versions up to and including 3.9.2 are affected, with the flaw residing in the Anonymous Chat Attachment Parser component - meaning no login is required to trigger it. Public exploit code exists via a GitHub issue (no public exploit identified as actively exploited per CISA KEV), and no vendor-released patch is available at time of analysis.
Open redirect in JeecgBoot's ThirdLoginController (versions 3.9.0-3.9.2) allows remote attackers to manipulate the OAuth `state` parameter and redirect victims to attacker-controlled URLs via the third-party login flow. The vendor's own assessment confirms low real-world exploitability: successful exploitation requires social engineering to induce victims into clicking a crafted OAuth login link, and the affected third-party login feature (DingTalk, WeChat) is optional and likely disabled in most deployments. Publicly available exploit code exists, but no KEV listing indicates active exploitation campaigns at time of analysis.
Information disclosure in JeecgBoot up to 3.9.2 allows authenticated remote attackers to extract password salt values by manipulating the `salt` argument in the `queryPageList` function of the User List Endpoint (`SysUserController.java`). While the CVSS score is low (3.1) due to high attack complexity and a low-privilege authentication requirement, a publicly available proof-of-concept (GitHub issue #9648) exists and no vendor patch has been released - only one planned for a future version. Exposure of salt values is particularly sensitive as it can facilitate offline password hash cracking if hashes are separately obtained.
Improper access control in JeecgBoot's AiragModelController (versions up to 3.9.1) permits any authenticated low-privilege user to invoke the list and queryById API endpoints without proper authorization checks, exposing AI RAG model configuration data restricted to higher-privileged roles. The CVSS vector (PR:L, C:L) confirms this is an authorization bypass rather than a full authentication bypass, limiting impact to confidentiality of AI model metadata. Publicly available exploit code exists (GitHub issue #9599, referenced in the exploit tag), though no CISA KEV listing indicates confirmed widespread active exploitation at time of analysis.
Improper access control in JeecgBoot through version 3.9.1 exposes the LoginController.selectDepart endpoint at /sys/selectDepart, allowing remote attackers to bypass authorization checks tied to department/tenant selection during login. Publicly available exploit code exists per VulDB disclosure, and the vendor has shipped a fix in v3.9.2. No active in-the-wild exploitation has been confirmed (not in CISA KEV), but the public POC and network-reachable attack surface make opportunistic abuse plausible.
Improper access control in JeecgBoot versions up to 3.9.1 allows authenticated low-privileged remote attackers to bypass authorization checks by manipulating the `userIdentity` argument in the SysUser component's `user.getUsername` function at the `/sys/user/login/setting/userEdit` endpoint. A publicly available proof-of-concept exploit exists via GitHub issue #9596, increasing practical risk for any multi-user JeecgBoot deployment where adversaries hold a low-privileged account. Vendor-released patch v3.9.2 is available and explicitly remediates this access control failure alongside several other high-severity issues including RCE and SSRF, indicating a broad security hardening effort in this release cycle.
Improper authentication in JeecgBoot 3.9.1 OpenAPI endpoint allows remote attackers to bypass authentication checks and perform unauthorized actions, though exploitation is rated difficult due to high attack complexity. No public exploit code has been identified and no vendor response has been received. With CVSS 3.7 (Low severity) and AV:N/AC:H/PR:N parameters, the vulnerability poses limited immediate risk but requires monitoring given the authentication bypass nature and remote attack vector.
Authentication bypass in JeecgBoot 3.9.1 mLogin endpoint allows remote attackers to circumvent login controls via manipulation of an unspecified function in LoginController.java, resulting in unauthorized access with confidentiality impact. The vulnerability has high attack complexity and difficult exploitability, but publicly available exploit code exists and the vendor has not responded to disclosure.
Server-side request forgery in JeecgBoot up to 3.9.1 allows authenticated remote attackers to manipulate the CommonController.uploadImgByHttp endpoint and trigger arbitrary HTTP requests from the server, with publicly available exploit code and vendor confirmation of the issue. The vulnerability affects the image upload functionality through HttpFileToMultipartFileUtil.httpFileToMultipartFile and downloadImageData methods, enabling attackers with valid credentials to abuse the application as a proxy for outbound requests.
SQL injection in JeecgBoot up to version 3.9.1 allows authenticated remote attackers to execute arbitrary SQL commands through the loadDict endpoint by manipulating the keyword parameter in the SqlInjectionUtil function. The vulnerability has a CVSS score of 6.3 with network-accessible attack vector, and publicly available exploit code exists; patch availability is confirmed via GitHub commit a9c8e8eb1185751c4c3c68d2a53f3dadee9edc6b.
Improper authorization in JeecgBoot up to version 3.9.1 allows authenticated remote attackers to bypass access controls in the SysAnnouncementController component, potentially leading to unauthorized data modification and disclosure. The vulnerability has a CVSS score of 6.3 (medium severity) and carries an EPSS severity rating reflecting real-world exploitability; publicly available exploit code exists and the vendor has confirmed the issue with a patch expected in an upcoming release.
Code injection in JimuReport's Data Source Handler allows authenticated high-privilege users to execute arbitrary code via manipulated dbUrl parameters in the DriverManager.getConnection function (versions up to 2.3.0). The vulnerability requires high-privilege authentication but can be exploited remotely with low attack complexity; publicly available exploit code exists and the vendor has acknowledged the issue with a fix planned for an upcoming release.
Missing authentication in JeecgBoot 3.9.0 and 3.9.1 allows unauthenticated remote attackers to access the AI Chat Module functionality without credential verification. The vulnerability resides in JeecgBizToolsProvider.java within the jeecg-module-system component. Vendor-released patches are available via GitHub commits (b7c9aeba and 2c1cc88b) pending inclusion in the next official release. No public exploit code or active exploitation confirmed at time of analysis, though the low attack complexity (AC:L) and network attack vector (AV:N) with no authentication required (PR:N) indicate trivial exploitation potential.
JeecgBoot versions from 3.4.3 up to 3.8.0 were found to contain a SQL injection vulnerability in the /jeecg-boot/online/cgreport/head/parseSql endpoint, which allows bypassing SQL blacklist. Rated medium severity (CVSS 6.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. Public exploit code available and no vendor patch available.
SQL injection vulnerability in Beijing Guoju Information Technology Co., Ltd JeecgBoot v.3.7.2 allows a remote attacker to obtain sensitive information via the getTotalData component. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. Public exploit code available and no vendor patch available.
JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryFilterTableDictInfo at org.jeecg.modules.api.controller.SystemApiController. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. Public exploit code available and no vendor patch available.
JeecgBoot up to v 3.5.1 was discovered to contain a SQL injection vulnerability via the component queryTableDictItemsByCode at org.jeecg.modules.api.controller.SystemApiController. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no authentication required, low attack complexity. Public exploit code available and no vendor patch available.