VYPR
High severity7.5NVD Advisory· Published Dec 12, 2017· Updated May 13, 2026

CVE-2017-11909

CVE-2017-11909

Description

ChakraCore and Windows 10 1511, 1607, 1703, 1709, and Windows Server 2016 allows an attacker to execute arbitrary code in the context of the current user, due to how the scripting engine handles objects in memory, aka "Scripting Engine Memory Corruption Vulnerability". This CVE ID is unique from CVE-2017-11886, CVE-2017-11889, CVE-2017-11890, CVE-2017-11893, CVE-2017-11894, CVE-2017-11895, CVE-2017-11901, CVE-2017-11903, CVE-2017-11905, CVE-2017-11905, CVE-2017-11907, CVE-2017-11908, CVE-2017-11910, CVE-2017-11911, CVE-2017-11912, CVE-2017-11913, CVE-2017-11914, CVE-2017-11916, CVE-2017-11918, and CVE-2017-11930.

Affected packages

Versions sourced from the GitHub Security Advisory.

PackageAffected versionsPatched versions
Microsoft.ChakraCoreNuGet
< 1.7.51.7.5

Affected products

3
  • cpe:2.3:a:microsoft:chakracore:*:*:*:*:*:*:*:*
    Range: <1.7.5
  • cpe:2.3:a:microsoft:edge:-:*:*:*:*:*:*:*
  • Microsoft Corporation/ChakraCore, Microsoft Edgev5
    Range: Windows 10 1511, 1607, 1703, 1709, and Windows Server 2016.

Patches

1
0e4566a4c394

[CVE-2017-11909] JIT: BackwardPass::RemoveEmptyLoopAfterMemOp doesn't insert branches / make break control flow - Google, Inc.

https://github.com/chakra-core/ChakraCoreMichael FerrisOct 26, 2017via ghsa
1 file changed · +8 0
  • lib/Backend/BackwardPass.cpp+8 0 modified
    @@ -7853,6 +7853,14 @@ BackwardPass::RemoveEmptyLoopAfterMemOp(Loop *loop)
     
         outerBlock->RemovePred(head, this->func->m_fg);
         landingPad->RemoveSucc(head, this->func->m_fg);
    +    Assert(landingPad->GetSuccList()->Count() == 0);
    +
    +    IR::Instr* firstOuterInstr = outerBlock->GetFirstInstr();
    +    AssertOrFailFast(firstOuterInstr->IsLabelInstr() && !landingPad->GetLastInstr()->EndsBasicBlock());
    +    IR::LabelInstr* label = firstOuterInstr->AsLabelInstr();
    +    // Add br to Outer block to keep coherence between branches and flow graph
    +    IR::BranchInstr *outerBr = IR::BranchInstr::New(Js::OpCode::Br, label, this->func);
    +    landingPad->InsertAfter(outerBr);
         this->func->m_fg->AddEdge(landingPad, outerBlock);
     
         this->func->m_fg->RemoveBlock(head, nullptr);
    

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

11

News mentions

0

No linked articles in our index yet.