VYPR
Low severityOSV Advisory· Published Jan 20, 2026· Updated Jan 21, 2026

CVE-2025-66803

CVE-2025-66803

Description

Race condition in the turbo-frame element handler in Hotwired Turbo before 8.0.x causes logout operations to fail when delayed frame responses reapply session cookies after logout. This can be exploited by remote attackers via selective network delays (e.g. delaying requests based on sequence or timing) or by physically proximate attackers when the race condition occurs naturally on shared computers.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
@hotwired/turbonpm
< 8.0.218.0.21

Affected products

1

Patches

1
899df356e9f4

Cancel frame requests when the frame is disconnected, disabled, or its src is removed

https://github.com/hotwired/turboDom ChristieDec 3, 2025via ghsa
1 file changed · +16 2
  • src/core/frames/frame_controller.js+16 2 modified
    @@ -69,18 +69,28 @@ export class FrameController {
           this.formLinkClickObserver.stop()
           this.linkInterceptor.stop()
           this.formSubmitObserver.stop()
    +
    +      if (!this.element.hasAttribute("recurse")) {
    +        this.#currentFetchRequest?.cancel()
    +      }
         }
       }
     
       disabledChanged() {
    -    if (this.loadingStyle == FrameLoadingStyle.eager) {
    +    if (this.disabled) {
    +      this.#currentFetchRequest?.cancel()
    +    } else if (this.loadingStyle == FrameLoadingStyle.eager) {
           this.#loadSourceURL()
         }
       }
     
       sourceURLChanged() {
         if (this.#isIgnoringChangesTo("src")) return
     
    +    if (!this.sourceURL) {
    +      this.#currentFetchRequest?.cancel()
    +    }
    +
         if (this.element.isConnected) {
           this.complete = false
         }
    @@ -506,8 +516,12 @@ export class FrameController {
         return this.element.id
       }
     
    +  get disabled() {
    +    return this.element.disabled
    +  }
    +
       get enabled() {
    -    return !this.element.disabled
    +    return !this.disabled
       }
     
       get sourceURL() {
    

Vulnerability mechanics

Generated by null/stub on May 9, 2026. Inputs: CWE entries + fix-commit diffs from this CVE's patches. Citations validated against bundle.

References

7

News mentions

0

No linked articles in our index yet.