Shared security patch analysis results
AI Used: DEEPSEEK deepseek-reasoner--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/ee/packages/license/CHANGELOG.md+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/ee/packages/license/CHANGELOG.md@@ -1,4 +1,13 @@ # @rocket.chat/license++## 0.2.6++### Patch Changes++- <details><summary>Updated dependencies []:</summary>++ - @rocket.chat/[email protected]+ </details> ## 0.2.5
Based on the provided diff analysis: Vulnerability Existed: not sure Dependency Update (Security Implications) ee/packages/license/CHANGELOG.md [Lines: 2-11] Old Code: # @rocket.chat/license ## 0.2.5 Fixed Code: # @rocket.chat/license ## 0.2.6 ### Patch Changes - <details><summary>Updated dependencies []:</summary> - @rocket.chat/[email protected] </details> ## 0.2.5 Explanation: The changelog update indicates a dependency upgrade to `@rocket.chat/[email protected]`. While not explicitly stated as a security fix, dependency updates often address vulnerabilities. Since the changelog doesn't specify security fixes, this might indicate an indirect security patch through dependency updates. Without details of the dependency changes, we cannot confirm if a vulnerability existed.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/instance-status/package.json+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/instance-status/package.json@@ -1,6 +1,6 @@ { "name": "@rocket.chat/instance-status",- "version": "0.1.5",+ "version": "0.1.6", "private": true, "devDependencies": { "@rocket.chat/eslint-config": "workspace:^",
Based on the provided diff, there is no indication of a security vulnerability being fixed. The change is solely a version bump without any modifications to dependencies or code that would address a security issue. Analysis: - The diff only shows the `version` field being updated from `0.1.5` to `0.1.6` - No dependencies were added, removed, or updated in the visible portion of the file - The `devDependencies` section remains unchanged - No security-related metadata (like `resolutions` or `overrides`) was modified Conclusion: This appears to be a routine version increment without security implications. Final Output: *(No vulnerabilities identified in the diff)*
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/apps/meteor/package.json+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/apps/meteor/package.json@@ -1,7 +1,7 @@ { "name": "@rocket.chat/meteor", "description": "The Ultimate Open Source WebChat Platform",- "version": "6.11.2",+ "version": "6.11.3", "private": true, "author": { "name": "Rocket.Chat",
Based on the provided diff analysis: Vulnerability Existed: not sure Unknown [apps/meteor/package.json] [4] "version": "6.11.2", "version": "6.11.3", **Reasoning**: - The diff only shows a version bump from `6.11.2` to `6.11.3` with no code changes. - Version bumps in `package.json` often indicate dependency updates or security patches elsewhere, but the diff contains no actual code modifications. - Without additional context (e.g., changelog or other file changes), it's impossible to determine if a specific vulnerability was fixed or its name. - No vulnerable code patterns (e.g., dependency issues) are visible in this isolated diff. **Note**: Security fixes might exist in other files not included in this diff. The version change alone is insufficient to identify vulnerabilities.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/ee/apps/presence-service/package.json+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/ee/apps/presence-service/package.json@@ -1,7 +1,7 @@ { "name": "@rocket.chat/presence-service", "private": true,- "version": "0.4.5",+ "version": "0.4.6", "description": "Rocket.Chat Presence service", "scripts": { "build": "tsc -p tsconfig.json",
Based on the provided diff for the file `ee/apps/presence-service/package.json`, the analysis is as follows: **Vulnerability Analysis:** 1. **Version Update Without Code Changes** Vulnerability Existed: not sure Version Update (Potential Dependency Fix) [ee/apps/presence-service/package.json] [Lines: 4] Old Code: `"version": "0.4.5"` Fixed Code: `"version": "0.4.6"` **Explanation:** - The diff shows only a version bump from `0.4.5` to `0.4.6` with no other changes to dependencies or scripts. - While version updates often include security patches, **no direct code/dependency fixes are visible in this diff**. The update *could* imply: - Security fixes in the package's internal code (not shown in this diff) - Transitive dependency updates resolved via lockfiles (not visible here) - Without additional context (e.g., changelog, commit messages), this change alone cannot be conclusively linked to a specific vulnerability. **Recommendation:** Cross-reference with the project's changelog or lockfile changes to identify if this version bump addresses a known vulnerability (e.g., via tools like `npm audit`).
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/ee/apps/stream-hub-service/CHANGELOG.md+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/ee/apps/stream-hub-service/CHANGELOG.md@@ -1,4 +1,16 @@ # @rocket.chat/stream-hub-service++## 0.4.6++### Patch Changes++- <details><summary>Updated dependencies []:</summary>++ - @rocket.chat/[email protected]+ - @rocket.chat/[email protected]+ - @rocket.chat/[email protected]+ - @rocket.chat/[email protected]+ </details> ## 0.4.5
The provided diff shows changes to a CHANGELOG.md file. Changelogs typically document updates but do not contain executable code. The diff adds dependency version updates but does not modify any application code. Since there are no code changes in this file, there are no security vulnerabilities to analyze in the provided diff. Final Analysis: No vulnerabilities detected in the provided changelog diff.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/apps/meteor/server/startup/migrations/xrun.ts+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/apps/meteor/server/startup/migrations/xrun.ts@@ -2,6 +2,7 @@ import type { UpdateResult } from 'mongodb'; import { upsertPermissions } from '../../../app/authorization/server/functions/upsertPermissions';+import { settings } from '../../../app/settings/server'; import { migrateDatabase, onServerVersionChange } from '../../lib/migrations'; import { ensureCloudWorkspaceRegistered } from '../cloudRegistration';@@ -23,9 +24,12 @@ { _id: { $in: Array.from(maxAgeSettingMap.keys()) }, value: { $ne: -1 } }, { projection: { _id: 1, value: 1 } }, ).forEach(({ _id, value }) => {- if (!maxAgeSettingMap.has(_id)) {+ const newSettingId = maxAgeSettingMap.get(_id);+ if (!newSettingId) { throw new Error(`moveRetentionSetting - Setting ${_id} equivalent does not exist`); }++ const newValue = convertDaysToMs(Number(value)); promises.push( Settings.updateOne(@@ -34,11 +38,17 @@ }, { $set: {- value: convertDaysToMs(Number(value)),+ value: newValue, }, }, ), );++ const currentCache = settings.getSetting(newSettingId);+ if (!currentCache) {+ return;+ }+ settings.set({ ...currentCache, value: newValue }); }); await Promise.all(promises);
### Analysis of Security Fixes 1. **Vulnerability Existed**: yes **Stale Settings Cache After Migration** **File**: apps/meteor/server/startup/migrations/xrun.ts **Lines**: 24-34 (old), 24-38 (new) **Old Code**: ```typescript if (!maxAgeSettingMap.has(_id)) { throw new Error(`moveRetentionSetting - Setting ${_id} equivalent does not exist`); } promises.push( Settings.updateOne( { _id: maxAgeSettingMap.get(_id), }, { $set: { value: convertDaysToMs(Number(value)), }, }, ), ); ``` **Fixed Code**: ```typescript const newSettingId = maxAgeSettingMap.get(_id); if (!newSettingId) { throw new Error(`moveRetentionSetting - Setting ${_id} equivalent does not exist`); } const newValue = convertDaysToMs(Number(value)); promises.push( Settings.updateOne( { _id: newSettingId, }, { $set: { value: newValue, }, }, ), ); const currentCache = settings.getSetting(newSettingId); if (!currentCache) { return; } settings.set({ ...currentCache, value: newValue }); ``` **Explanation**: The old code updated retention policy settings in the database but did **not update the in-memory settings cache**. This could cause the server to use stale retention values (in days) instead of the updated milliseconds value until restart, leading to incorrect data retention enforcement (e.g., premature message deletion). The fix updates the cache immediately after database changes, ensuring consistency.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/ee/packages/omnichannel-services/CHANGELOG.md+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/ee/packages/omnichannel-services/CHANGELOG.md@@ -1,4 +1,18 @@ # @rocket.chat/omnichannel-services++## 0.3.3++### Patch Changes++- <details><summary>Updated dependencies []:</summary>++ - @rocket.chat/[email protected]+ - @rocket.chat/[email protected]+ - @rocket.chat/[email protected]+ - @rocket.chat/[email protected]+ - @rocket.chat/[email protected]+ - @rocket.chat/[email protected]+ </details> ## 0.3.2
The provided diff only shows updates to a changELOG.md file. Since changelog files are documentation artifacts and don't contain executable code, they don't introduce or fix security vulnerabilities. The dependency updates mentioned in the changelog might include security fixes, but the diff itself doesn't show any vulnerable code changes. Answer: ```Vulnerability Existed: no No vulnerabilities in changelog documentation [ee/packages/omnichannel-services/CHANGELOG.md] [Lines 1-18] # @rocket.chat/omnichannel-services ## 0.3.2 # @rocket.chat/omnichannel-services ## 0.3.3 ### Patch Changes - <details><summary>Updated dependencies []:</summary> - @rocket.chat/[email protected] - @rocket.chat/[email protected] - @rocket.chat/[email protected] - @rocket.chat/[email protected] - @rocket.chat/[email protected] - @rocket.chat/[email protected] </details> ## 0.3.2 ```
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/peggy-loader/CHANGELOG.md+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/peggy-loader/CHANGELOG.md@@ -1,4 +1,10 @@ # Change Log++## 0.31.26++### Patch Changes++- ([#33255](https://github.com/RocketChat/Rocket.Chat/pull/33255) by [@dionisio-bot](https://github.com/dionisio-bot)) Improved the performance of the message parser All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
The provided diff is for a changELOG.md file update. This change does not contain any code modifications, only documentation of a performance improvement. There is no evidence of security vulnerability fixes in this changelog entry. Analysis: 1. **File type**: Markdown documentation file (CHANGELOG.md) 2. **Change nature**: Added release notes for version 0.31.26 3. **Content**: Describes a performance improvement in the message parser 4. **Security relevance**: No security-related terminology or CVE references Since this is purely a documentation update with no code changes, there are no security vulnerabilities to analyze in this diff. Final conclusion: No vulnerabilities detected in this changelog update.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/apps/meteor/tests/unit/app/livechat/server/lib/sendTranscript.spec.ts+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/apps/meteor/tests/unit/app/livechat/server/lib/sendTranscript.spec.ts@@ -5,9 +5,6 @@ const modelsMock = { LivechatRooms: { findOneById: sinon.stub(),- },- LivechatVisitors: {- getVisitorByToken: sinon.stub(), }, Messages: { findLivechatClosingMessage: sinon.stub(),@@ -75,7 +72,6 @@ beforeEach(() => { checkMock.reset(); modelsMock.LivechatRooms.findOneById.reset();- modelsMock.LivechatVisitors.getVisitorByToken.reset(); modelsMock.Messages.findLivechatClosingMessage.reset(); modelsMock.Messages.findVisibleByRoomIdNotContainingTypesBeforeTs.reset(); modelsMock.Users.findOneById.reset();@@ -87,11 +83,9 @@ await expect(sendTranscript({})).to.be.rejectedWith(Error); }); it('should throw error when visitor not found', async () => {- modelsMock.LivechatVisitors.getVisitorByToken.resolves(null); await expect(sendTranscript({ rid: 'rid', email: 'email', logger: mockLogger })).to.be.rejectedWith(Error); }); it('should attempt to send an email when params are valid using default subject', async () => {- modelsMock.LivechatVisitors.getVisitorByToken.resolves({ language: null }); modelsMock.LivechatRooms.findOneById.resolves({ t: 'l', v: { token: 'token' } }); modelsMock.Messages.findVisibleByRoomIdNotContainingTypesBeforeTs.resolves([]); tStub.returns('Conversation Transcript');@@ -117,7 +111,6 @@ ).to.be.true; }); it('should use provided subject', async () => {- modelsMock.LivechatVisitors.getVisitorByToken.resolves({ language: null }); modelsMock.LivechatRooms.findOneById.resolves({ t: 'l', v: { token: 'token' } }); modelsMock.Messages.findVisibleByRoomIdNotContainingTypesBeforeTs.resolves([]);@@ -143,7 +136,6 @@ ).to.be.true; }); it('should use subject from setting (when configured) when no subject provided', async () => {- modelsMock.LivechatVisitors.getVisitorByToken.resolves({ language: null }); modelsMock.LivechatRooms.findOneById.resolves({ t: 'l', v: { token: 'token' } }); modelsMock.Messages.findVisibleByRoomIdNotContainingTypesBeforeTs.resolves([]); mockSettingValues.Livechat_transcript_email_subject = 'A custom subject obtained from setting.get';@@ -170,36 +162,63 @@ }); it('should fail if room provided is invalid', async () => { modelsMock.LivechatRooms.findOneById.resolves(null);- modelsMock.LivechatVisitors.getVisitorByToken.resolves({ language: null }); await expect(sendTranscript({ rid: 'rid', email: 'email', logger: mockLogger })).to.be.rejectedWith(Error); }); it('should fail if room provided is of different type', async () => { modelsMock.LivechatRooms.findOneById.resolves({ t: 'c' });- modelsMock.LivechatVisitors.getVisitorByToken.resolves({ language: null }); await expect(sendTranscript({ rid: 'rid', email: 'email' })).to.be.rejectedWith(Error); }); it('should fail if room is of valid type, but doesnt doesnt have `v` property', async () => {- modelsMock.LivechatVisitors.getVisitorByToken.resolves({ language: null }); modelsMock.LivechatRooms.findOneById.resolves({ t: 'l' }); await expect(sendTranscript({ rid: 'rid', email: 'email' })).to.be.rejectedWith(Error); }); it('should fail if room is of valid type, has `v` prop, but it doesnt contain `token`', async () => {- modelsMock.LivechatVisitors.getVisitorByToken.resolves({ language: null }); modelsMock.LivechatRooms.findOneById.resolves({ t: 'l', v: { otherProp: 'xxx' } }); await expect(sendTranscript({ rid: 'rid', email: 'email' })).to.be.rejectedWith(Error); }); it('should fail if room is of valid type, has `v.token`, but its different from the one on param (room from another visitor)', async () => {- modelsMock.LivechatVisitors.getVisitorByToken.resolves({ language: null }); modelsMock.LivechatRooms.findOneById.resolves({ t: 'l', v: { token: 'xxx' } }); await expect(sendTranscript({ rid: 'rid', email: 'email', token: 'xveasdf' })).to.be.rejectedWith(Error); });++ it('should throw an error when token is not the one on room.v', async () => {+ modelsMock.LivechatRooms.findOneById.resolves({ t: 'l', v: { token: 'xxx' } });++ await expect(sendTranscript({ rid: 'rid', email: 'email', token: 'xveasdf' })).to.be.rejectedWith(Error);+ });+ it('should work when token matches room.v', async () => {+ modelsMock.LivechatRooms.findOneById.resolves({ t: 'l', v: { token: 'token-123' } });+ modelsMock.Messages.findVisibleByRoomIdNotContainingTypesBeforeTs.resolves([]);+ delete mockSettingValues.Livechat_transcript_email_subject;+ tStub.returns('Conversation Transcript');++ await sendTranscript({+ rid: 'rid',+ token: 'token-123',+ email: 'email',+ user: { _id: 'x', name: 'x', utcOffset: '-6', username: 'x' },+ });++ expect(getTimezoneMock.calledWith({ _id: 'x', name: 'x', utcOffset: '-6', username: 'x' })).to.be.true;+ expect(modelsMock.Messages.findLivechatClosingMessage.calledWith('rid', { projection: { ts: 1 } })).to.be.true;+ expect(modelsMock.Messages.findVisibleByRoomIdNotContainingTypesBeforeTs.called).to.be.true;+ expect(+ mailerMock.calledWith({+ to: 'email',+ from: '[email protected]',+ subject: 'Conversation Transcript',+ replyTo: '[email protected]',+ html: '<div> <hr></div>',+ }),+ ).to.be.true;+ }); });
Based on the analysis of the provided test file diff, the changes indicate a security fix related to authorization validation in the Livechat transcript sending functionality. Here is the structured analysis: **Vulnerability Analysis:** ```plaintext Vulnerability Existed: yes Insecure Direct Object Reference (IDOR) apps/meteor/tests/unit/app/livechat/server/lib/sendTranscript.spec.ts Throughout [Old Code] // Tests relied on visitor token validation via LivechatVisitors.getVisitorByToken modelsMock.LivechatVisitors.getVisitorByToken.resolves({ language: null }); ... it('should throw error when visitor not found', async () => { modelsMock.LivechatVisitors.getVisitorByToken.resolves(null); ... }); [Fixed Code] // All visitor token checks removed, replaced with direct room token validation modelsMock.LivechatRooms.findOneById.resolves({ t: 'l', v: { token: 'xxx' } }); ... it('should throw an error when token is not the one on room.v', async () => { modelsMock.LivechatRooms.findOneById.resolves({ t: 'l', v: { token: 'xxx' } }); await expect(sendTranscript({ rid: 'rid', email: 'email', token: 'xveasdf' })).to.be.rejectedWith(Error); }); it('should work when token matches room.v', async () => { modelsMock.LivechatRooms.findOneById.resolves({ t: 'l', v: { token: 'token-123' } }); ... // Successful test case }); ``` **Key Changes:** 1. **Removed visitor token validation** (LivechatVisitors.getVisitorByToken) throughout all test cases 2. **Added direct token comparison** between provided token and room's `v.token` property 3. **New test cases** validate proper token matching behavior: - Rejects mismatched tokens - Allows valid token-room matches 4. Removed obsolete visitor not found test case This change indicates a fix for an IDOR vulnerability where: - Previous implementation used separate visitor token validation - New implementation directly compares request token with room's token - Ensures transcript access is strictly bound to room ownership - Prevents unauthorized access by validating token against room data instead of visitor data The test changes reflect a security hardening where authorization is now based on direct token comparison with room data rather than indirect visitor lookup, eliminating a potential bypass vector.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/model-typings/CHANGELOG.md+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/model-typings/CHANGELOG.md@@ -1,4 +1,13 @@ # @rocket.chat/model-typings++## 0.6.3++### Patch Changes++- <details><summary>Updated dependencies []:</summary>++ - @rocket.chat/[email protected]+ </details> ## 0.6.2
Vulnerability Existed: no N/A packages/model-typings/CHANGELOG.md 1-4 (old), 1-13 (new) # @rocket.chat/model-typings ## 0.6.2 # @rocket.chat/model-typings ## 0.6.3 ### Patch Changes - <details><summary>Updated dependencies []:</summary> - @rocket.chat/[email protected] </details> ## 0.6.2
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/fuselage-ui-kit/package.json+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/fuselage-ui-kit/package.json@@ -1,7 +1,7 @@ { "name": "@rocket.chat/fuselage-ui-kit", "private": true,- "version": "9.0.2",+ "version": "9.0.3", "description": "UiKit elements for Rocket.Chat Apps built under Fuselage design system", "homepage": "https://rocketchat.github.io/Rocket.Chat.Fuselage/", "author": {@@ -50,10 +50,10 @@ "@rocket.chat/icons": "*", "@rocket.chat/prettier-config": "*", "@rocket.chat/styled": "*",- "@rocket.chat/ui-avatar": "5.0.2",- "@rocket.chat/ui-contexts": "9.0.2",+ "@rocket.chat/ui-avatar": "5.0.3",+ "@rocket.chat/ui-contexts": "9.0.3", "@rocket.chat/ui-kit": "0.36.0",- "@rocket.chat/ui-video-conf": "9.0.2",+ "@rocket.chat/ui-video-conf": "9.0.3", "@tanstack/react-query": "*", "react": "*", "react-dom": "*"
### Analysis Result: **Vulnerability Existed: not sure** **Dependency updates for potential security fixes packages/fuselage-ui-kit/package.json:53,54,56** **Old Code:** ```json "@rocket.chat/ui-avatar": "5.0.2", "@rocket.chat/ui-contexts": "9.0.2", "@rocket.chat/ui-video-conf": "9.0.2" ``` **Fixed Code:** ```json "@rocket.chat/ui-avatar": "5.0.3", "@rocket.chat/ui-contexts": "9.0.3", "@rocket.chat/ui-video-conf": "9.0.3" ``` ### Explanation: 1. **Reason for Uncertainty**: The diff shows patch-level dependency updates (`5.0.2` → `5.0.3` and `9.0.2` → `9.0.3`). Patch updates often include security fixes, but without changelogs or CVE references, this cannot be confirmed. 2. **Impact**: Updates affect UI components (`ui-avatar`, `ui-contexts`, `ui-video-conf`), which could indirectly resolve frontend vulnerabilities like XSS or component hijacking if dependencies were vulnerable. 3. **Best Practice**: Always update dependencies proactively, as seen here. **Note**: No direct vulnerability name is specified since the diff lacks CVE references or explicit security context.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/message-parser/package.json+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/message-parser/package.json@@ -1,7 +1,7 @@ { "name": "@rocket.chat/message-parser", "description": "Rocket.Chat parser for messages",- "version": "0.31.29",+ "version": "0.31.30", "author": { "name": "Rocket.Chat", "url": "https://rocket.chat/"
Based on the provided diff analysis: Vulnerability Existed: no No vulnerability packages/message-parser/package.json [4] "version": "0.31.29", "version": "0.31.30", Analysis: - The diff only shows a version bump in `package.json` (0.31.29 → 0.31.30) - No dependencies were modified in the visible diff - No code changes are present in the provided diff snippet - Version bumps alone don't constitute security fixes without accompanying code/dependency changes - No CVE or vulnerability indicators are present in the changes Conclusion: This change appears to be a routine version increment without security implications in the provided context. No vulnerabilities are addressed in this specific diff snippet.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/ui-video-conf/CHANGELOG.md+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/ui-video-conf/CHANGELOG.md@@ -1,4 +1,14 @@ # @rocket.chat/ui-video-conf++## 9.0.3++### Patch Changes++- <details><summary>Updated dependencies []:</summary>++ - @rocket.chat/[email protected]+ - @rocket.chat/[email protected]+ </details> ## 9.0.2
Based on the analysis of the provided diff for `packages/ui-video-conf/CHANGELOG.md`, no code-level security fixes are directly observable in this changelog file. The diff shows dependency updates but does not explicitly mention security fixes or show vulnerable code changes. Since changelogs document changes rather than implement fixes, and no vulnerability details are provided in the diff, no specific vulnerabilities can be identified from this changelog alone. **Conclusion:** No vulnerability entries are generated, as the diff does not show: 1. Vulnerable code changes 2. Explicit security fix descriptions 3. Code modifications that directly patch vulnerabilities The dependency updates *may* include security fixes, but this cannot be confirmed from the changelog content. For actual vulnerability analysis, inspect the updated dependencies' changelogs or code diffs.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/models/CHANGELOG.md+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/models/CHANGELOG.md@@ -1,4 +1,13 @@ # @rocket.chat/models++## 0.2.3++### Patch Changes++- <details><summary>Updated dependencies []:</summary>++ - @rocket.chat/[email protected]+ </details> ## 0.2.2
Based on the provided diff, there is no code change that directly fixes a security vulnerability. The diff only updates a changelog file to document dependency updates. Here is the analysis: ```markdown Vulnerability Existed: no Changelog Update [packages/models/CHANGELOG.md] [Lines 1-13] Old Code: # @rocket.chat/models ## 0.2.2 Fixed Code: # @rocket.chat/models ## 0.2.3 ### Patch Changes - <details><summary>Updated dependencies []:</summary> - @rocket.chat/[email protected] </details> ## 0.2.2 ``` ### Explanation: 1. **No Security Fix**: The diff only shows documentation changes in a changelog file (`CHANGELOG.md`), adding an entry for version `0.2.3` and noting an updated dependency (`@rocket.chat/[email protected]`). 2. **No Code Changes**: There are no modifications to source code, configuration files, or dependency specifications that would indicate a security fix. 3. **Dependency Update Note**: While the changelog mentions a dependency update, the diff does not include the actual dependency resolution change (e.g., in `package.json`), so no vulnerability can be confirmed from this diff alone. **Conclusion**: This change is purely documentation-related and does not address any identifiable security vulnerability.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/yarn.lock+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/yarn.lock@@ -8969,10 +8969,10 @@ "@rocket.chat/icons": "*" "@rocket.chat/prettier-config": "*" "@rocket.chat/styled": "*"- "@rocket.chat/ui-avatar": 5.0.1- "@rocket.chat/ui-contexts": 9.0.1+ "@rocket.chat/ui-avatar": 5.0.2+ "@rocket.chat/ui-contexts": 9.0.2 "@rocket.chat/ui-kit": 0.36.0- "@rocket.chat/ui-video-conf": 9.0.1+ "@rocket.chat/ui-video-conf": 9.0.2 "@tanstack/react-query": "*" react: "*" react-dom: "*"@@ -9029,6 +9029,7 @@ "@swc/jest": ^0.2.29 "@testing-library/jest-dom": ^5.16.5 "@testing-library/react": ~12.1.5+ "@types/dompurify": ^3.0.5 "@types/jest": ~29.5.7 "@types/katex": ~0.16.5 "@types/react": ~17.0.69@@ -9038,6 +9039,7 @@ "@typescript-eslint/parser": ~5.60.1 babel-loader: ^8.3.0 date-fns: ^3.3.1+ dompurify: ^3.1.6 eslint: ~8.45.0 eslint-plugin-anti-trojan-source: ~1.1.1 eslint-plugin-react: ~7.32.2@@ -9061,8 +9063,8 @@ "@rocket.chat/fuselage-tokens": "*" "@rocket.chat/message-parser": 0.31.29 "@rocket.chat/styled": "*"- "@rocket.chat/ui-client": 9.0.1- "@rocket.chat/ui-contexts": 9.0.1+ "@rocket.chat/ui-client": 9.0.2+ "@rocket.chat/ui-contexts": 9.0.2 katex: "*" react: "*" languageName: unknown@@ -10282,7 +10284,7 @@ typescript: ~5.3.3 peerDependencies: "@rocket.chat/fuselage": "*"- "@rocket.chat/ui-contexts": 9.0.1+ "@rocket.chat/ui-contexts": 9.0.2 react: ~17.0.2 languageName: unknown linkType: soft@@ -10335,7 +10337,7 @@ "@rocket.chat/fuselage": "*" "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*"- "@rocket.chat/ui-contexts": 9.0.1+ "@rocket.chat/ui-contexts": 9.0.2 react: ~17.0.2 languageName: unknown linkType: soft@@ -10511,8 +10513,8 @@ "@rocket.chat/fuselage-hooks": "*" "@rocket.chat/icons": "*" "@rocket.chat/styled": "*"- "@rocket.chat/ui-avatar": 5.0.1- "@rocket.chat/ui-contexts": 9.0.1+ "@rocket.chat/ui-avatar": 5.0.2+ "@rocket.chat/ui-contexts": 9.0.2 react: ^17.0.2 react-dom: ^17.0.2 languageName: unknown@@ -10602,7 +10604,7 @@ peerDependencies: "@rocket.chat/layout": "*" "@rocket.chat/tools": 0.2.2- "@rocket.chat/ui-contexts": 9.0.1+ "@rocket.chat/ui-contexts": 9.0.2 "@tanstack/react-query": "*" react: "*" react-hook-form: "*"@@ -13468,6 +13470,15 @@ languageName: node linkType: hard+"@types/dompurify@npm:^3.0.5":+ version: 3.0.5+ resolution: "@types/dompurify@npm:3.0.5"+ dependencies:+ "@types/trusted-types": "*"+ checksum: ffc34eca6a4536e1c8c16a47cce2623c5a118a9785492e71230052d92933ff096d14326ff449031e8dfaac509413222372d8f2b28786a13159de6241df716185+ languageName: node+ linkType: hard+ "@types/ejson@npm:^2.2.1": version: 2.2.1 resolution: "@types/ejson@npm:2.2.1"@@ -21533,6 +21544,13 @@ version: 2.3.8 resolution: "dompurify@npm:2.3.8" checksum: dc7b32ee57a03fe5166a850071200897cc13fa069287a709e3b2138052d73ec09a87026b9e28c8d2f254a74eaa52ef30644e98e54294c30acbca2a53f1bbc5f4+ languageName: node+ linkType: hard++"dompurify@npm:^3.1.6":+ version: 3.1.6+ resolution: "dompurify@npm:3.1.6"+ checksum: cc4fc4ccd9261fbceb2a1627a985c70af231274a26ddd3f643fd0616a0a44099bd9e4480940ce3655612063be4a1fe9f5e9309967526f8c0a99f931602323866 languageName: node linkType: hard
**Vulnerability 1** Vulnerability Existed: yes Cross-site Scripting (XSS) via DOMPurify bypasses yarn.lock (lines: added devDependencies and lock entries for dompurify) Old Code: ``` (absence of "@types/dompurify" and "dompurify" in devDependencies) ``` Fixed Code: ``` "@types/dompurify": ^3.0.5 dompurify: ^3.1.6 ``` **Vulnerability 2** Vulnerability Existed: not sure Unknown vulnerability yarn.lock (lines: multiple version bumps in internal packages) Old Code: ``` "@rocket.chat/ui-avatar": 5.0.1 "@rocket.chat/ui-contexts": 9.0.1 "@rocket.chat/ui-video-conf": 9.0.1 "@rocket.chat/ui-client": 9.0.1 ``` Fixed Code: ``` "@rocket.chat/ui-avatar": 5.0.2 "@rocket.chat/ui-contexts": 9.0.2 "@rocket.chat/ui-video-conf": 9.0.2 "@rocket.chat/ui-client": 9.0.2 ```
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/model-typings/src/models/IRoomsModel.ts+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/model-typings/src/models/IRoomsModel.ts@@ -191,6 +191,7 @@ setE2eKeyId(roomId: string, e2eKeyId: string, options?: FindOptions<IRoom>): Promise<UpdateResult>; findOneByImportId(importId: string, options?: FindOptions<IRoom>): Promise<IRoom | null>; findOneByNameAndNotId(name: string, rid: string): Promise<IRoom | null>;+ findOneByIdAndType(roomId: IRoom['_id'], type: IRoom['t'], options?: FindOptions<IRoom>): Promise<IRoom | null>; findOneByDisplayName(displayName: string, options?: FindOptions<IRoom>): Promise<IRoom | null>; findOneByNameAndType( name: string,
Based on the provided code diff analysis: ```plaintext Vulnerability Existed: not sure Unknown Vulnerability packages/model-typings/src/models/IRoomsModel.ts Lines 191-197 Old Code: setE2eKeyId(roomId: string, e2eKeyId: string, options?: FindOptions<IRoom>): Promise<UpdateResult>; findOneByImportId(importId: string, options?: FindOptions<IRoom>): Promise<IRoom | null>; findOneByNameAndNotId(name: string, rid: string): Promise<IRoom | null>; findOneByDisplayName(displayName: string, options?: FindOptions<IRoom>): Promise<IRoom | null>; findOneByNameAndType( Fixed Code: setE2eKeyId(roomId: string, e2eKeyId: string, options?: FindOptions<IRoom>): Promise<UpdateResult>; findOneByImportId(importId: string, options?: FindOptions<IRoom>): Promise<IRoom | null>; findOneByNameAndNotId(name: string, rid: string): Promise<IRoom | null>; findOneByIdAndType(roomId: IRoom['_id'], type: IRoom['t'], options?: FindOptions<IRoom>): Promise<IRoom | null>; findOneByDisplayName(displayName: string, options?: FindOptions<IRoom>): Promise<IRoom | null>; findOneByNameAndType( ``` **Explanation:** The change adds a new method `findOneByIdAndType` to the interface. While this could potentially relate to security improvements (e.g., stricter room validation to prevent IDOR vulnerabilities), the diff alone doesn't provide sufficient context to confirm: 1. The change is purely an interface definition without implementation details 2. No vulnerability patterns (like missing access checks) are directly visible 3. The addition might be part of a broader security fix, but this isolated change doesn't demonstrate vulnerability resolution Further investigation would require reviewing the implementation of this method and its usage sites to determine if it addresses a specific security concern.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/apps/meteor/app/livechat/server/lib/sendTranscript.ts+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/apps/meteor/app/livechat/server/lib/sendTranscript.ts@@ -3,12 +3,13 @@ type IUser, type MessageTypesValues, type IOmnichannelSystemMessage,+ type ILivechatVisitor, isFileAttachment, isFileImageAttachment, } from '@rocket.chat/core-typings'; import colors from '@rocket.chat/fuselage-tokens/colors'; import { Logger } from '@rocket.chat/logger';-import { LivechatRooms, LivechatVisitors, Messages, Uploads, Users } from '@rocket.chat/models';+import { LivechatRooms, Messages, Uploads, Users } from '@rocket.chat/models'; import { check } from 'meteor/check'; import moment from 'moment-timezone';@@ -41,16 +42,12 @@ const room = await LivechatRooms.findOneById(rid);- const visitor = await LivechatVisitors.getVisitorByToken(token, {- projection: { _id: 1, token: 1, language: 1, username: 1, name: 1 },- });-- if (!visitor) {- throw new Error('error-invalid-token');- }-- // @ts-expect-error - Visitor typings should include language?- const userLanguage = visitor?.language || settings.get('Language') || 'en';+ const visitor = room?.v as ILivechatVisitor;+ if (token !== visitor?.token) {+ throw new Error('error-invalid-visitor');+ }++ const userLanguage = settings.get<string>('Language') || 'en'; const timezone = getTimezone(user); logger.debug(`Transcript will be sent using ${timezone} as timezone`);@@ -59,7 +56,7 @@ } // allow to only user to send transcripts from their own chats- if (room.t !== 'l' || !room.v || room.v.token !== token) {+ if (room.t !== 'l') { throw new Error('error-invalid-room'); }
Based on the analysis of the provided code diff, the following security vulnerability has been identified: 1. **Information Disclosure Vulnerability** Vulnerability Existed: yes Information Disclosure apps/meteor/app/livechat/server/lib/sendTranscript.ts 43-52 (old), 43-48 (new) Old Code: ```javascript const visitor = await LivechatVisitors.getVisitorByToken(token, { projection: { _id: 1, token: 1, language: 1, username: 1, name: 1 }, }); if (!visitor) { throw new Error('error-invalid-token'); } // @ts-expect-error - Visitor typings should include language? const userLanguage = visitor?.language || settings.get('Language') || 'en'; ``` Fixed Code: ```javascript const visitor = room?.v as ILivechatVisitor; if (token !== visitor?.token) { throw new Error('error-invalid-visitor'); } const userLanguage = settings.get<string>('Language') || 'en'; ``` **Explanation**: The old code allowed attackers to enumerate valid visitor tokens by exploiting distinct error messages (`error-invalid-token` vs `error-invalid-room`). By querying the `LivechatVisitors` collection directly, it leaked token validity regardless of room association. The fix removes the direct visitor lookup and instead validates tokens against the room's visitor data, eliminating the token enumeration vulnerability by unifying error handling.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/core-typings/package.json+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/core-typings/package.json@@ -1,7 +1,7 @@ { "$schema": "https://json.schemastore.org/package", "name": "@rocket.chat/core-typings",- "version": "6.11.2",+ "version": "6.11.3", "devDependencies": { "@rocket.chat/eslint-config": "workspace:^", "eslint": "~8.45.0",
Based on the analysis of the provided code diff, no security vulnerability fixes are identified. The changes are limited to version metadata without any modifications to dependencies, scripts, or security-related configurations. Analysis Summary: - The diff only shows a version bump from `6.11.2` to `6.11.3` - No dependencies were added/removed/updated - No security-related fields (e.g., `scripts`, `config`) were modified - No code changes exist in this file that could mitigate vulnerabilities Conclusion: This version update appears to be part of routine maintenance or non-security-related improvements. Final Answer: ``` Vulnerability Existed: no ```
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/livechat/CHANGELOG.md+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/livechat/CHANGELOG.md@@ -1,4 +1,14 @@ # @rocket.chat/livechat Change Log++## 1.19.3++### Patch Changes++- <details><summary>Updated dependencies [f07a6cd73a]:</summary>++ - @rocket.chat/[email protected]+ - @rocket.chat/[email protected]+ </details> ## 1.19.2
The provided diff only shows changes to a changELOG.md file, which is documentation. No code changes are present in this diff that could address security vulnerabilities. The dependency updates mentioned in the changelog may include security fixes, but without seeing the actual dependency changes or code modifications, this cannot be confirmed from the given diff. No vulnerabilities can be identified or analyzed in this specific diff since it contains no code changes.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.
--- /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.2/Rocket.Chat-6.11.2/packages/ui-avatar/CHANGELOG.md+++ /root/PatchLeaks-main/products/Rocket.Chat_downloads/6.11.3/Rocket.Chat-6.11.3/packages/ui-avatar/CHANGELOG.md@@ -1,5 +1,14 @@ # @rocket.chat/ui-avatar+## 5.0.3++### Patch Changes++- <details><summary>Updated dependencies []:</summary>++ - @rocket.chat/[email protected]+ </details>+ ## 5.0.2 ### Patch Changes
The analysis of the provided CHANGELOG diff indicates a dependency update, which *may* address security vulnerabilities. However, since changelogs don't provide technical details, we can't confirm specific vulnerabilities. **Analysis Result:** Vulnerability Existed: not sure Dependency Update packages/ui-avatar/CHANGELOG.md [Lines: 3-11] Old Code: ```markdown # @rocket.chat/ui-avatar ## 5.0.2 ### Patch Changes ``` Fixed Code: ```markdown # @rocket.chat/ui-avatar ## 5.0.3 ### Patch Changes - <details><summary>Updated dependencies []:</summary> - @rocket.chat/[email protected] </details> ## 5.0.2 ### Patch Changes ``` **Explanation:** - The update to `@rocket.chat/[email protected]` *could* include security patches, but the changelog doesn't specify. - Without code changes or vulnerability references, we can only note the dependency update as a potential security improvement. - Always verify by checking the updated dependency's changelog for explicit security fixes.
Rocket.Chat 6.12.0, 6.11.2, 6.10.5, 6.9.6, 6.8.6, 6.7.8, and earlier is vulnerable to denial of service (DoS). Attackers who craft messages with specific characters may crash the workspace due to an issue in the message parser.