WebKit contains a race condition in WebCore/Modules/webaudio/AudioBufferSourceNode.cpp. The output bus may in rare cases not be updated immediately with a new number of channels after calling 'AudioBufferSourceNode::setBuffer', resulting in an insufficiently sized buffer being used when later calling 'AudioBufferSourceNode::process'. With a specially crafted web page, a context-dependent attacker can cause a heap-based buffer overflow, resulting in a denial of service or potentially allowing the execution of arbitrary code.