Skip to content

fix(deps): update module github.com/rabbitmq/amqp091-go to v1.13.0 [security] - #2308

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/go-github.com-rabbitmq-amqp091-go-vulnerability
Open

fix(deps): update module github.com/rabbitmq/amqp091-go to v1.13.0 [security]#2308
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/go-github.com-rabbitmq-amqp091-go-vulnerability

Conversation

@renovate

@renovate renovate Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
github.com/rabbitmq/amqp091-go v1.10.0v1.13.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


amqp091-go has a Potential Memory Exhaustion/Protocol Violation via Broker-Controlled Oversized Payload

CVE-2026-79921 / GHSA-6c5v-hqjr-5xxp

More information

Details

Summary
A vulnerability exists in the amqp091-go client library where a compromised or malicious AMQP broker can force the client to allocate resources for and process content body frames that exceed the negotiated frame_max limit. This can lead to unexpected memory consumption or application-layer denial of service (DoS), bypassing the protocol's built-in framing constraints.

Details
During a standard AMQP 0-9-1 connection handshake, the client and the broker negotiate a maximum frame size (frame_max), for example, 4096 bytes.

However, after negotiation, a malicious broker can send a valid basic.deliver sequence containing a content body frame whose header declares a payload size larger than the negotiated frame_max. Instead of enforcing the agreed-upon limit and closing the connection with a frame-error (as mandated by the AMQP 0-9-1 specification), the amqp091-go client:

  1. Accepts the broker-declared oversized frame size.
  2. Allocates memory based on this oversized declaration.
  3. Reads the payload, assembles it into the message, and delivers it to the consumer.

Impact

  • Denial of Service (DoS): If a broker sends extremely large frame sizes, it can trigger significant memory allocations on the client side, potentially leading to Out-Of-Memory (OOM) crashes.
  • Protocol Violation: The client fails to enforce negotiated connection parameters, trusting the broker implicitly even after constraints have been established.

Severity

  • CVSS Score: 8.9 / 10 (High)
  • Vector String: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:H

References

This data is provided by the GitHub Advisory Database (CC-BY 4.0).


Release Notes

rabbitmq/amqp091-go (github.com/rabbitmq/amqp091-go)

v1.13.0

Compare Source

Full Changelog

Implemented enhancements:

  • refactor: extract shared close prologue into beginClose() #​376 (suchitd)

Fixed bugs:

Merged pull requests:

  • chore(deps): reduce github-actions dependabot updates to weekly #​384 (suchitd)
  • chore(deps): bump github/codeql-action from 4.37.5 to 4.37.6 in the github-actions group #​383 (dependabot[bot])
  • docs: update CLAUDE.md with lifecycle/log files and updated recovery details #​382 (suchitd)
  • chore(deps): bump github/codeql-action from 4.37.4 to 4.37.5 in the github-actions group #​381 (dependabot[bot])
  • chore(deps): bump github/codeql-action from 4.37.3 to 4.37.4 in the github-actions group #​378 (dependabot[bot])
  • chore(deps): bump github/codeql-action from 4 to 4.37.3 in the github-actions group #​374 (dependabot[bot])

v1.12.0

Compare Source

Full Changelog

Implemented enhancements:

  • feat: skip-and-continue topology recovery with per-entity error surfacing #​365 (suchitd)
  • Make TopologyRecoveryAllEnabled the default topology recovery mode #​362 (suchitd)
  • feature: implement automatic topology recovery #​357 (suchitd)

Fixed bugs:

  • Evict auto-delete queues and exchanges from topology store to prevent stale resurrection during recovery #​368
  • Data race in Connection.shutdown between buffered listener send goroutine and close(listener) #​360
  • fix: reject frames exceeding negotiated frame_max before allocation #​369 (suchitd)
  • fix: prevent recursive channel recovery during connection reconnection #​367 (suchitd)
  • fix: eliminate multiple data races in Channel and Connection operations #​366 (suchitd)
  • fix: forget auto-delete topology on last consumer/binding removal #​363 (suchitd)
  • fix: explicitly enforce TLS 1.2 minimum version in tlsConfigFromURI #​355 (suchitd)
  • fix: return error when shortstr exceeds 255 bytes #​354 (suchitd)
  • fix: enforce AMQP minimum frame size during negotiation #​353 (suchitd)
  • fix: URL-encode TLS file paths in URI.String() query string #​352 (suchitd)
  • Reject negative prefetch values in Qos #​351 (suchitd)
  • fix: redact and zero out plaintext SASL credentials after handshake #​350 (suchitd)
  • Avoid notifications blocking reader. #​349 (MirahImage)
  • Return error when longstring too long. #​347 (MirahImage)
  • Cap body pre-allocation to FrameMax. #​346 (MirahImage)
  • Safely handle negative x- field length. #​344 (MirahImage)

Merged pull requests:

v1.11.0

Compare Source

Full Changelog

Implemented enhancements:

  • Feature: implement automatic connection and channel recovery with state change notifications #​339 (suchitd)
  • Add integration test for publish with immediate flag #​338 (suchitd)
  • Add integration tests for QueueUnbind and QueuePurge #​337 (suchitd)
  • Add integration test for exchange-to-exchange binding and unbinding #​336 (suchitd)

Fixed bugs:

Closed issues:

  • PublishWithContext does not respect context cancellation #​329

Merged pull requests:


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the dependencies Dependency updates label Sep 3, 2026
@github-actions github-actions Bot added the skip-changelog Omit from the platform release notes (released separately, or not operator-facing) label Sep 3, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Dependency updates skip-changelog Omit from the platform release notes (released separately, or not operator-facing)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants