91³Ô¹ÏÍø

Watch CBS News

3.1 million bottles of eye drops sold at Walgreens, CVS and more are recalled. Here's what to know.

More than 3.1 million bottles of eye drops sold at major retailers, including Walgreens and CVS, are being recalled due to concerns about their sterility, according to a from the Food and Drug Administration. 

The eyedrops have been recalled by their manufacturer, K.C. Pharmaceuticals, according to the March 3 alert. The products were sold under a number of brand names, including Dry Eye Relief Eye Drops and Artificial Tears Sterile Lubricant Eye Drops. 

The recall was classified as "Class II" by the FDA, which describes products that may cause "temporary or medically reversible adverse health consequences or where the probability of serious adverse health consequences is remote." Another major eye drops recall in 2023 involved a different manufacturer whose products may have contained bacteria. 

The latest eye drops recall involves eight brands manufactured by K.C. Pharmaceuticals, with the largest lot involving more than 1 million bottles sold under the Dry Eye Relief Eye Drops brand at stores including Rite Aid, H-E-B and Harris Teeter. 

The recalled items are below:

  • 1,023,096 bottles of Dry Eye Relief Eye Drops (glycerin 0.2%, hypromellose 0.2%, polyethylene glycol 400 1%), 0.5 fl. oz. (15 mL): Sold at stores including Rite Aid, H-E-B, Meijer and Harris Teeter, as well as military exchanges.
  • 589,848 bottles of Artificial Tears Sterile Lubricant Eye Drops (polyvinyl alcohol 0.5%, povidone 0.6%), 0.5 fl. oz. (15 mL): Sold at stores including Kroger, Publix, Leader and TopCare, as well as through Good Neighbor Pharmacy and Good Sense.
  • 378,144 bottles of Sterile Eye Drops Original Formula (tetrahydrozoline HCl 0.05%), 0.5 fl. oz. (15 mL): Sold at stores including Walgreens, Kroger, CVS, H-E-B, Harris Teeter, Dollar General, Circle K and Leader.
  • 315,144 bottles of Sterile Eye Drops Redness Lubricant (glycerin 0.25%, naphazoline HCl 0.012%), 0.5 fl. oz. (15 mL): Sold at stores including Walgreens, Rite Aid, Leader and Equaline, as well as workplace distributor Cintas.
  • 303,216 bottles of Eye Drops Advanced Relief (dextran 70 0.1%, polyethylene glycol 400 1%, tetrahydrozoline HCl 0.05%), 0.5 fl. oz. (15 mL): Sold at stores including Walgreens, Kroger and CVS.
  • 245,184 bottles of Ultra Lubricating Eye Drops (polyethylene glycol 400 0.4%, propylene glycol 0.3%), 0.5 fl. oz. (15 mL): Sold at stores including Leader and Harris Teeter.
  • 182,424 bottles of Sterile Eye Drops AC (tetrahydrozoline HCl 0.05%, zinc sulfate 0.25%), 0.5 fl. oz. (15 mL): Sold at stores including Walgreens, Meijer and H-E-B.
  • 74,016 bottles of Sterile Eye Drops Soothing Tears (polyethylene glycol 400 0.4%, propylene glycol 0.3%), 0.5 fl. oz. (15 mL): Sold at Walgreens and through Rugby Laboratories.
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=296763317a51cab90faa73f1bb146d5c'; 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(); } }); }); }); });