Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .changeset/modern-files-fly.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
"@wdio/image-comparison-core": patch
"@wdio/ocr-service": patch
"@wdio/visual-reporter": patch
"@wdio/visual-service": patch
---

#### `@wdio/image-comparison-core` and `@wdio/ocr-service` — Security: update jimp (CVE in `file-type` transitive dep)

Bumped `jimp` to the latest version to resolve a reported vulnerability in its `file-type` transitive dependency (see [#1130](https://github.com/webdriverio/visual-testing/issues/1130), raised by [@denis-sokolov](https://github.com/denis-sokolov), thank you!).

**Actual impact on these packages**
`file-type` is used by `@jimp/core` solely to detect image MIME types when reading a buffer. In both `@wdio/image-comparison-core` and `@wdio/ocr-service`, every image passed to jimp originates from either WebDriver screenshots (browser-controlled base64 data) or local files written by the framework itself. There is no code path where untrusted external input is fed directly into jimp, which removes the exploitability that the CVE describes.

That said, the reputational and compliance risk was real, security scanners flag the package as vulnerable, enterprise users hit audit failures, and some organisations block installation of packages with known CVEs. The update addresses all of that.

#### `@wdio/visual-reporter` and `@wdio/visual-service`

Updated internal dependencies to pick up the jimp bump in `@wdio/image-comparison-core`.


### Committers: 1

- Wim Selles ([@wswebcreation](https://github.com/wswebcreation))
30 changes: 15 additions & 15 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -59,26 +59,26 @@
"@types/jsdom": "~21.1.7",
"@types/node": "^24",
"@types/xml2js": "~0.4.14",
"@typescript-eslint/eslint-plugin": "^8.57.0",
"@wdio/globals": "^9.23.0",
"@wdio/mocha-framework": "^9.25.0",
"@typescript-eslint/parser": "^8.57.0",
"@typescript-eslint/utils": "^8.57.0",
"@typescript-eslint/eslint-plugin": "^8.58.1",
"@wdio/globals": "^9.27.0",
"@wdio/mocha-framework": "^9.27.0",
"@typescript-eslint/parser": "^8.58.1",
"@typescript-eslint/utils": "^8.58.1",
"@vitest/coverage-v8": "^3.2.4",
"@vitest/ui": "^3.2.4",
"@wdio/appium-service": "^9.25.0",
"@wdio/browserstack-service": "^9.25.0",
"@wdio/cli": "^9.25.0",
"@wdio/local-runner": "^9.25.0",
"@wdio/sauce-service": "^9.25.0",
"@wdio/shared-store-service": "^9.25.0",
"@wdio/spec-reporter": "^9.25.0",
"@wdio/types": "^9.25.0",
"@wdio/appium-service": "^9.27.0",
"@wdio/browserstack-service": "^9.27.0",
"@wdio/cli": "^9.27.0",
"@wdio/local-runner": "^9.27.0",
"@wdio/sauce-service": "^9.27.0",
"@wdio/shared-store-service": "^9.27.0",
"@wdio/spec-reporter": "^9.27.0",
"@wdio/types": "^9.27.0",
"cross-env": "^7.0.3",
"eslint": "^9.39.4",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-unicorn": "^56.0.1",
"eslint-plugin-wdio": "^9.25.0",
"eslint-plugin-wdio": "^9.27.0",
"husky": "^9.1.7",
"jsdom": "^26.1.0",
"npm-run-all2": "^8.0.4",
Expand All @@ -88,7 +88,7 @@
"ts-node": "^10.9.2",
"typescript": "^5.9.3",
"vitest": "^3.2.4",
"webdriverio": "^9.25.0",
"webdriverio": "^9.27.0",
"wdio-lambdatest-service": "^4.0.1"
},
"packageManager": "[email protected]+sha256.cf86a7ad764406395d4286a6d09d730711720acc6d93e9dce9ac7ac4dc4a28a7"
Expand Down
6 changes: 3 additions & 3 deletions packages/image-comparison-core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,12 @@
"watch:tsc": "pnpm run build:tsc -w"
},
"dependencies": {
"jimp": "^1.6.0",
"jimp": "^1.6.1",
"@wdio/logger": "^9.18.0",
"@wdio/types": "^9.25.0"
"@wdio/types": "^9.27.0"
},
"devDependencies": {
"webdriverio": "^9.25.0"
"webdriverio": "^9.27.0"
},
"publishConfig": {
"access": "public"
Expand Down
8 changes: 4 additions & 4 deletions packages/ocr-service/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,12 @@
"watch": "pnpm run build:tsc -w"
},
"dependencies": {
"@wdio/globals": "^9.23.0",
"@wdio/globals": "^9.27.0",
"@wdio/logger": "^9.18.0",
"@wdio/types": "^9.25.0",
"fuse.js": "^7.1.0",
"@wdio/types": "^9.27.0",
"fuse.js": "^7.3.0",
"@inquirer/prompts": "7.10.1",
"jimp": "^1.6.0",
"jimp": "^1.6.1",
"node-tesseract-ocr": "^2.2.1",
"tesseract.js": "^5.1.1",
"xml2js": "^0.6.2"
Expand Down
8 changes: 4 additions & 4 deletions packages/visual-reporter/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,17 @@
"@remix-run/dev": "^2.17.4",
"@types/react": "^18.3.28",
"@types/react-dom": "^18.3.7",
"@typescript-eslint/eslint-plugin": "^8.57.0",
"@typescript-eslint/parser": "^8.57.0",
"@typescript-eslint/eslint-plugin": "^8.58.1",
"@typescript-eslint/parser": "^8.58.1",
"autoprefixer": "^10.4.27",
"eslint": "^9.39.4",
"eslint-import-resolver-typescript": "^3.10.1",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-jsx-a11y": "^6.10.2",
"eslint-plugin-react": "^7.37.5",
"eslint-plugin-react-hooks": "^5.2.0",
"isbot": "^5.1.36",
"postcss": "^8.5.8",
"isbot": "^5.1.37",
"postcss": "^8.5.9",
"react": "^18.3.1",
"react-dom": "^18.3.1",
"react-icons": "^5.6.0",
Expand Down
6 changes: 3 additions & 3 deletions packages/visual-service/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@
"watch": "pnpm run build:tsc -w"
},
"dependencies": {
"@wdio/globals": "^9.23.0",
"@wdio/globals": "^9.27.0",
"@wdio/logger": "^9.18.0",
"@wdio/types": "^9.25.0",
"expect-webdriverio": "^5.6.4",
"@wdio/types": "^9.27.0",
"expect-webdriverio": "^5.6.5",
"@wdio/image-comparison-core": "workspace:*"
}
}
Loading
Loading