91³Ô¹ÏÍø

Watch CBS News

Many chocolate products contain worrying levels of lead or other heavy metals, Consumer Reports says

With Halloween just around the corner, Consumer Reports has some scary news to relay about many treats typically found in trick-or-treat bags, as well as in the kitchen cupboard. 

From cocoa powder to brownie mixes, the consumer advocacy group found "concerning" levels of lead or cadmium in a third of the chocolate products it tested. Consumer Report coupled its  with a call on Hershey Co., the largest purveyor of chocolate in the U.S., to step up its efforts to reduce the level of toxic metals in its chocolate.

"Our tests have found that other brands have succeeded in producing chocolate products with lower levels of heavy metals that are safer for consumers," Brian Ronholm, CR's director of food policy, said in a  on Consumer Reports' findings. "As a leading and popular brand, it's time for Hershey's to make a firm, time-bound commitment to get dangerous levels of heavy metals out of its chocolate products."  

Following up on findings of potentially dangerous amounts of heavy metals in some brands of dark chocolate last last year, scientists at the nonprofit advocacy organization ran new tests on other kinds of chocolates and food items made with the ingredient. The products tested included dark chocolate bars, milk chocolate bars, cocoa powder, chocolate chips, and mixes for hot cocoa, brownies and chocolate cake.

Detectable amounts of lead and cadmium were detected in all 48 products tested, and 16 contained concerning levels for one of both of the heavy metals, according to the results released on Wednesday.

The bittersweet reality behind chocolate 09:08

Long-term exposure to even small amounts of heavy metals can result in health problems such as brain development in young children, according to health experts.

How best to reduce heavy metals in chocolate is an industrywide question pertinent to all brands, not just Hershey, a spokesperson for the candy maker told CBS MoneyWatch in an email, while deferring further comment to the National Confectioners Association.

"Chocolate and cocoa are safe to eat and can be enjoyed as treats as they have been for centuries. Food safety and product quality remain our highest priorities and we remain dedicated to being transparent and socially responsible," the trade group said in an emailed statement.

View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=fd53910ecf4604072044ab7c46d9b028'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });