Skip to content

fix(whatsapp-bridge): bump Baileys to 7.0.0-rc12 for CVE-2026-48063 - #43815

Closed
zapabob wants to merge 201 commits into
NousResearch:mainfrom
zapabob:codex/baileys-cve-2026-48063-rc12
Closed

fix(whatsapp-bridge): bump Baileys to 7.0.0-rc12 for CVE-2026-48063#43815
zapabob wants to merge 201 commits into
NousResearch:mainfrom
zapabob:codex/baileys-cve-2026-48063-rc12

Conversation

@zapabob

@zapabob zapabob commented Jun 10, 2026

Copy link
Copy Markdown
Contributor

Summary

Fixes #43814 — bumps @whiskeysockets/baileys git pin from 01047de to 1aee6ed (npm 7.0.0-rc12), which includes the patch for CVE-2026-48063 / GHSA-qvv5-jq5g-4cgg (message upsert / history sync / app-state spoofing).

This is distinct from #24677, which only reaches 7.0.0-rc10 and remains in the vulnerable < 7.0.0-rc12 range for this advisory.

Changes

  • scripts/whatsapp-bridge/package.json — Baileys pin → WhiskeySockets/Baileys#1aee6ed6011ef77035c2b072eff478fc5f327809
  • scripts/whatsapp-bridge/package-lock.json — regenerated via npm install

Test plan

  • node --check bridge.js
  • node allowlist.test.mjs (5/5 pass)
  • npm audit in scripts/whatsapp-bridge/ → 0 vulnerabilities
  • Manual WhatsApp pairing + send/receive round-trip

zapabob and others added 30 commits April 1, 2026 01:47
- Use tempfile.gettempdir() for persistent shell temp paths instead of
  hardcoded /tmp, allowing Python open() and Git Bash to both access
  the same files (e.g. C:/Users/.../AppData/Local/Temp/hermes-local-*)
- Skip Unix _SANE_PATH injection into subprocess PATH on Windows to
  prevent /opt/homebrew and /usr/bin from polluting Windows environment
- Replace pkill -P with taskkill /F /FI "PPID eq <pid>" on Windows for
  proper child process termination in persistent shell mode
- Add platform/tempfile imports and _IS_WINDOWS flag to persistent_shell.py

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add Windows native fork banner and change summary table
- Replace "Windows not supported" with Git Bash installation guide
- Add Japanese UI for key sections
- Update issue/PR links to point to this fork
- Credit upstream NousResearch and fork author

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…tion)

VRChat OSC integration:
- tools/vrchat_osc_tool.py: python-osc based VRChat chatbox, avatar params,
  typing indicator, raw OSC — ports extensions/vrchat-relay from OpenClaw
- skills/gaming/vrchat/SKILL.md: usage docs and workflow examples
- pyproject.toml: add [vrchat] optional dep (python-osc>=1.8.0)

LINE gateway:
- gateway/platforms/line.py: LINE Messaging API webhook adapter (aiohttp)
  with HMAC signature verification and push/reply support

Windows scripts:
- scripts/windows/start-hermes-gateway.ps1: gateway launcher for Windows
- scripts/windows/register-hermes-autostart.ps1: Task Scheduler autostart

Migration artifacts (clawdbot → Hermes):
- docs/migration/clawdbot_full_porting.md: full runbook
- docs/migration/clawdbot_cutover_checklist.md: pre/post checklist
- docs/migration/clawdbot_migration_assessment.md: 91 extensions classified
- docs/migration/clawdbot_migration_assessment.json: machine-readable assessment
- docs/migration/hypura_native_integration.md: Hypura provider integration guide
- docs/migration/hypura_vendor_inventory.md: Hypura dependency inventory

Hermes internals:
- hermes_api_server.py: REST API server for external tool access
- hermes_cli/hypura_native.py: Hypura AI provider CLI integration

.env.example:
- Add VRCHAT_OSC_HOST/SEND_PORT/RECV_PORT
- Add VOICEVOX_URL/SPEAKER
- Add TELEGRAM_HOME_CHANNEL=7201110294 (migrated from TELEGRAM_CHAT_ID)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
tools/voicevox_tts_tool.py:
- voicevox_speak(text, speaker, blocking): synthesise + play audio
- voicevox_synthesise(text, speaker): return raw WAV bytes (no playback)
- voicevox_list_speakers(): list all available speakers/styles
- voicevox_status(): check engine connectivity

Cross-platform playback: winsound (Windows), afplay (macOS), paplay/aplay/ffplay (Linux)
Default speaker: 8 (春日部つむぎ, configurable via VOICEVOX_SPEAKER env var)
Engine URL: http://127.0.0.1:50021 (configurable via VOICEVOX_URL env var)

Matches the VOICEVOX config in live2d-companion (speaker=8, url=50021).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Allow the Hermes AI agent to call VRChat and VOICEVOX autonomously
during conversations without manual code execution.

tools/vrchat_osc_tool.py:
- registry.register() for: vrchat_chatbox, vrchat_typing,
  vrchat_avatar_param, vrchat_send_osc, vrchat_status
- All gated on python-osc via _check_vrchat_requirements()

tools/voicevox_tts_tool.py:
- registry.register() for: voicevox_speak, voicevox_list_speakers,
  voicevox_status
- voicevox_speak gated on engine reachability via _check_voicevox_requirements()

model_tools.py:
- Add tools.vrchat_osc_tool and tools.voicevox_tts_tool to _discover_tools()
  so they are loaded at startup

toolsets.py:
- Add all 8 new tools to _HERMES_CORE_TOOLS so they appear in the
  agent's default tool set

tools/__init__.py:
- Export all new public functions

Result: agent can now autonomously:
  - Send messages to VRChat chatbox ("VRChat に挨拶して")
  - Control avatar parameters ("表情を笑顔にして")
  - Speak via VOICEVOX ("VOICEVOXで読み上げて")
  - Chain VRChat + VOICEVOX for synchronized chat+voice

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…nces

- Updated all instances of `hermes_cli.main` to `hermes_cli` for consistency across scripts and documentation.
- Introduced a new `__main__.py` file to allow running the CLI with `python -m hermes_cli`.
- Added runtime Python version check to ensure compatibility with Hermes requirements.
- Updated tests to reflect changes in module invocation.

This change simplifies the command structure and enhances usability for users running the CLI.
Co-authored-by: Cursor <cursoragent@cursor.com>
Add tools/openclaw bridge, harness/voice/VRChat tools, merge tooling,
and upstream sync scripts. Register openclaw toolsets as opt-in; extend
vendor hypura-harness and vrchat-relay extensions.

Co-authored-by: Cursor <cursoragent@cursor.com>
Remove duplicate ArgumentParser in main() left after _parser.py migration; the unclosed epilog broke imports at line 12615. Add Windows desktop shortcut script and ops doc.

Co-authored-by: Cursor <cursoragent@cursor.com>
- Restore get_running_pid record loop in gateway/status.py

- Initialize ACP nonlocal bindings in acp_adapter/server.py

- Remove duplicate broken API block in hermes_cli/doctor.py

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Windows venvs created with uv store the base interpreter under pyvenv.cfg; if that cpython tree is removed, hermes/uv fail with opaque path errors. Doctor now surfaces the broken home path and standard repair commands.

Co-authored-by: Cursor <cursoragent@cursor.com>
Move all .lnk into a single subfolder, remove stale root duplicates,
add Doctor shortcut, optional uv venv bootstrap, and deprecate the
windows-only shortcut script in favor of one canonical creator.
Co-authored-by: Cursor <cursoragent@cursor.com>
Preserve local runtime artifacts with focused ignore rules, keep OpenClaw SOUL copies byte-for-byte, migrate approved messaging/VRChat/API secret surfaces, centralize legacy desktop shortcuts, and add a CLI hint for bare command names.
zapabob and others added 20 commits June 6, 2026 00:50
Enable x_search for direct X/Twitter status URL reads without xAI credentials by routing canonical status URLs through r.jina.ai. Harden URL extraction to canonical handles and preserve explicit empty platform tool selections.
Merge upstream/main through scripts/sync_all.py with fork-preserving policy, apply Windows/Desktop follow-up fixes, and keep generated _docs and environment-local files out of the commit.
Bump aiohttp to 3.14.0 for CVE-2026-47265/CVE-2026-34993 and pin PyNaCl 1.6.2 for CVE-2025-69277.

Avoid discord.py[voice]'s PyNaCl<1.6 resolver constraint by spelling out the Discord voice dependencies directly.
Integrate NousResearch security fixes (HERMES_HOME skill .env, Telegram
overflow, gateway delivery, cron provider resolution, thinking-signature
recovery), desktop/dashboard features, and dependency updates while
preserving fork-only tools (VRChat, OpenClaw voice, harness) and Windows
shell compatibility via custom-first merge policy.

Co-authored-by: Cursor <cursoragent@cursor.com>
Re-applies fork-only gateway OAuth entry point on top of upstream merge,
using official hermes_cli.auth APIs and HERMES_HOME-aware credential resolution.

Co-authored-by: Cursor <cursoragent@cursor.com>
Pin @whiskeysockets/baileys to 1aee6ed (npm 7.0.0-rc12), which includes
GHSA-qvv5-jq5g-4cgg message upsert / history sync spoofing mitigation.

Co-authored-by: Cursor <cursoragent@cursor.com>
@austinpickett

Copy link
Copy Markdown
Collaborator

Heads-up: #43840 (liuhao1024) bumps Baileys all the way to rc13, which is a superset of the rc12 fix targeted here. If #43840 merges first, this PR will be superseded and can be closed without losing the CVE-2026-48063 fix.

Tagging for awareness so reviewers can coordinate merge order.

@alt-glitch alt-glitch added type/security Security vulnerability or hardening platform/whatsapp WhatsApp Business adapter P2 Medium — degraded but workaround exists labels Jun 11, 2026
@austinpickett

Copy link
Copy Markdown
Collaborator

Closing as superseded by #43840, which bumps Baileys to rc13 — a strict superset of the rc12 pin here. #43840 covers the same CVE-2026-48063 fix plus the LID-addressed group-send fix, and is already reviewed/approved. No coverage is lost by closing this one. Thanks for flagging the CVE, @zapabob — the fix lands via #43840.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P2 Medium — degraded but workaround exists platform/whatsapp WhatsApp Business adapter type/security Security vulnerability or hardening

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(whatsapp-bridge): bump Baileys to >=7.0.0-rc12 for CVE-2026-48063 (GHSA-qvv5-jq5g-4cgg)

3 participants