8 comments

  • kryogen1c7 hours ago
    &gt;proactive [...] security program<p>Idk how proactive patching an exploited-in-the-wild unauth RCE is, but pr statements gonna pr i guess.<p>&gt;This [...] vuln is not a breach or compromise of MongoDB<p>IANAL, but this seems like a pretty strong stance to take? Who exactly are you blaming here?<p>&gt;vulnerability was discovered internally &gt;detected the issue<p>Interesting choice of words. I wonder if their SIEM&#x2F;SOC discovered a compromise, or if someone detected a tweet.<p>&gt;December 12–14 – We worked continuously<p>It took 72 clock hours, assumably hundreds of man hours, to fix a malloc use after free and cstring null term bug? Maybe the user input field length part was a major design point??<p>&gt;dec 12 &quot;detect&quot; the issue, dec 19 cve, dec 23 first post<p>Boy this sure seems like a long time for a first communication for a guaranteed compromise if internet facing bug.<p>Not sure there&#x27;s a security tool in the world that would stop data exfiltration via protocol error logs.
    • notepad0x906 hours ago
      &gt; IANAL, but this seems like a pretty strong stance to take? Who exactly are you blaming here?<p>It&#x27;s a factually statement, unless you know of some information that indicates MongoDB was breached. I think you mistook &quot;MongoDB&quot; there to be the software instead of the company. They meant the company, their systems and infrastructure was not compromised.<p>&gt; Interesting choice of words. I wonder if their SIEM&#x2F;SOC discovered a compromise, or if someone detected a tweet.<p>I highly doubt that. it could be a crash someone noticed, a code audit, internal bug-bounty,etc.. either way I wouldn&#x27;t ascribe to them deceit without proof, if it was an external source, give them the benefit of doubt that they&#x27;d have said so.<p>&gt; It took 72 clock hours, assumably hundreds of man hours, to fix a malloc use after free and cstring null term bug? Maybe the user input field length part was a major design point??<p>You are familiar with things like SOC and SIEM, and you&#x27;re confused by this? Are you familiar with Incident Response? The act of editing the code in a text editor and committing it to a branch isn&#x27;t what took 72 hours.<p>&gt; Boy this sure seems like a long time for a first communication for a guaranteed compromise if internet facing bug.<p>It does not, far from it.<p>&gt; Not sure there&#x27;s a security tool in the world that would stop data exfiltration via protocol error logs.<p>Maybe not prevent, but certainly detect and attempt to interdict&#x2F;stop is certainly possible. That&#x27;s what SIEMs do if they&#x27;re adequately configured. But the drawback might be considerable volume of false hits. It might be better to simply reduce exposure to the internet, or remove it entirely. Just pointing out that, at least detection is possible, even with 0 days like this.
      • kryogen1c52 minutes ago
        &gt;I think you mistook &quot;MongoDB&quot;<p>I must have, the sentence does not make sense to me. Here it is, shortened: &quot;this vuln in mongodb server does not impact mongodb, managed mongodb server, or our systems&quot;. If the first clause is referring to their systems, why do they say the same thing in the third clause?<p>Also i just noticed, how come they say atlas wasn&#x27;t affected but say they patched it in their timeline?<p>&gt;give them the benefit of doubt that they&#x27;d have said so<p>Statements like this are basically legal admissions of guilt, i expect there to be as little truth as possible.<p>&gt;You are familiar with things like SOC and SIEM, and you&#x27;re confused by this?<p>I work in IT, I&#x27;m not a coder... so yes :) hundreds of hours seems excessive. Remember, this isn&#x27;t a safe deployment or rollout plan, that&#x27;s the next block of time. Hundreds of man hours is more than one person&#x27;s full month of work. Do you expect it to take you a whole, dedicated month to fix 1 bug at a time?<p>&gt;That&#x27;s what SIEMs do if they&#x27;re adequately configured.<p>This is a bit of a no true Scotsman. The intended error log is &quot;error: {cstring payload nullterm} broke&quot; and the mongobleed log is &quot;error: {cstring payload MISSINGNULLTERM cstring payload nullterm} broke&quot;. Those two things look identical, how is any amount of configuration supposed to catch that?
    • weinzierl1 hour ago
      <i>&quot; &gt;proactive [...] security program Idk how proactive patching an exploited-in-the-wild unauth RCE is, but pr statements gonna pr i guess. &quot;</i><p>If you follow their history, especially the jepsen analysis and the whole back and forth, you will find a pattern.
    • neandrake6 hours ago
      &gt;&gt;This [...] vuln is not a breach or compromise of MongoDB<p>&gt;IANAL, but this seems like a pretty strong stance to take? Who exactly are you blaming here?<p>You elide the context that explains it. It&#x27;s a vulnerability in their MongoDB Server product, not a result of MongoDB the company&#x2F;services being compromised and secrets leaked.
    • mmsc3 hours ago
      It wasn&#x27;t an RCE.
      • kryogen1c39 minutes ago
        Oh goodness, wheres my head at, thank you. Too late to edit, but you are correct. Memory exfiltration, potentially containing passwords and secrets, leading to privilege escalation. Not an RCE.
    • anonnon4 hours ago
      &gt; Idk how proactive patching an exploited-in-the-wild unauth RCE is, but pr statements gonna pr i guess.<p>Describing their response as &quot;proactive&quot; is about what you&#x27;d expect from a company that famously used unacknowledged writes to game benchmarks during their peak hype phase. Ironically, Mongo has been <i>slower than PostgreSQL</i> for years at JSON queries, the very thing at which it&#x27;s supposed to excel, and especially relative to a &quot;boring,&quot; &quot;antiquated&quot; relic like Postgres, which was started all the way back in 1985.<p>The real head-scratcher here is who is still using MongoDB, and why? It got to a point years ago where even &quot;I told you so&quot; types (like me) found it no longer necessary to pile on, given the wave of buyer&#x27;s remorse postmortems from devs who bought into MongoDB&#x27;s hype.
  • gberger10 hours ago
    Why did it take them 4 days between publishing a CVE for the vulnerability (Dec 19th) and posting a public patch (Dec 23rd)?
    • joecool10299 hours ago
      Had their hands full getting sued the same day: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46403128">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46403128</a>
    • cebert9 hours ago
      In the US, the last two weeks of December can be slow due to the holiday season. I wouldn’t be surprised if Mongo wasn’t as staffed as usual.
      • tanduv6 hours ago
        should&#x27;ve spun up a few more AI agents
    • theteapot7 hours ago
      Might not be how it appears. The CVE number can be reserved by the org and then &quot;published&quot; with only minimal info, then later update with full details. Looking at the meta data that&#x27;s probably what happened here (not entirely sure what the update was though):<p><pre><code> { &quot;cveId&quot;: &quot;CVE-2025-14847&quot;, &quot;assignerOrgId&quot;: &quot;a39b4221-9bd0-4244-95fc-f3e2e07f1deb&quot;, &quot;state&quot;: &quot;PUBLISHED&quot;, &quot;assignerShortName&quot;: &quot;mongodb&quot;, &quot;dateReserved&quot;: &quot;2025-12-17T18:56:21.301Z&quot;, &quot;datePublished&quot;: &quot;2025-12-19T11:00:22.465Z&quot;, &quot;dateUpdated&quot;: &quot;2025-12-29T23:20:23.813Z&quot; }</code></pre>
    • computerfan4949 hours ago
      That&#x27;s a good question. I suppose that posting the commit makes it incredibly obvious how to exploit the issue, so maybe they wanted to wait a little bit longer for their on-prem users who were slow to patch?
      • philipwhiuk8 hours ago
        Posting the CVE and then the patch is the reverse of this.
        • computerfan4948 hours ago
          By &quot;patch&quot; I am talking about the public commit. Updated binaries were made available when the CVE was published.
  • macintux9 hours ago
    1 day ago, 116 comments: <a href="https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46414475">https:&#x2F;&#x2F;news.ycombinator.com&#x2F;item?id=46414475</a>
  • vivzkestrel7 hours ago
    if you are using mongodb in 2026 you deserve everything headed in your direction
    • tgv2 hours ago
      And can you explain why? I think not. What&#x27;s the superior alternative, for every use case?
    • cyberpunk3 hours ago
      Why? I felt the same for a while but it’s really massively improved over the years. Yes, this is a bad vuln but anyone with even. tiny bit of brain is not running mongo on the internet.. I’m using mongo very successfully at the moment in ways i could not use postgres.
      • wood_spirit3 hours ago
        Genuinely interested: what problems does mongo fit better than mainstream competitors these days? Why would you use it on a new project?
        • tgv2 hours ago
          My application&#x27;s primary task is to move JSON objects between storage and front-end. It does a lot more, but that&#x27;s it&#x27;s primary task. So document storage is a logical choice. There are no real reasons to join records, although it sometimes is more efficient to do so. MongoDB&#x27;s join operation has one advantage (for 1:N relations): it groups the joined records as an array in the document, instead of multiplying the answers, so whatever function operates on the original data, also works on the joined data. The data itself is hierarchical in nature, so back-end operations also preferably work on structured data instead of rows.<p>You can argue that you can imitate that in Postgres or even SQLite by storing in JSON fields, but there are things they can&#x27;t do quite as efficiently (e.g. indexing array contents); storage itself isn&#x27;t very efficient either. But ignoring that, there&#x27;s no functional difference: it&#x27;s document in, document out. So then the choice boils down to speed, memory usage, etc. One day I&#x27;m going to check if Postgresql offers a real performance advantage, but given the backlog, that may take a while. Until then, MongoDB just works.
        • cyberpunk2 hours ago
          To be honest, I don&#x27;t think it was a stand-out &#x27;it&#x27;s better for X than Y because of Z&#x27; kind of choice for us. We are a bank, and so database options are quite limited (it&#x27;s Oracle or Mongo, essentially for certain applications).<p>I have one application at the moment which needs to handle about 175k writes&#x2F;second across AZ&#x27;s. We are not sharding at the moment, but probably will once scale requires (we are getting close) -- so just one big replica-set and it&#x27;s behaving .. really nicely. I tried to emulate this workload on Postgres (which is my favourite database over my entire career so far (many scars)) and we couldn&#x27;t get it to where mongo was for this workload, multi-az is painful, automatic failover is still an unanswered question really, I&#x27;ve tried all the &#x27;right around the corner&#x27; multi-master Postgres options and none of them did anything other than make us sad.<p>From the developer standpoint, it&#x27;s very nice to use, I just throw documents at it and it saves them. If I want an extra field, I just add it. If I want an index on something, also just add it. No big complicated schema migrations.<p>Especially what helps is we have absolutely incredibly great support from MongoDB. We have a _weekly_ call with them with a bunch of their senior engineers who answer all our stupid questions and proactively look for things to improve.<p>Ops story is also good, we aren&#x27;t using Atlas, but the on-prem kube setup while a bit clunky has enough CRDs and whatever to keep devops happy for weeks at a time.<p>tl;dr -- it&#x27;s boring and predictable, and I rarely have to think about it which is all I ever want from a database. I&#x27;m sure we could achieve the same results with other database technologies, but the ROI on even investigating them would not be worth it, as at best I think we would end up at the same place we are at now. People seem to have deeply religious feelings on databases, but I&#x27;ve never really been one of them.<p>I would not hesitate to use it on a new project.
          • aschen1 hour ago
            &gt; From the developer standpoint, it&#x27;s very nice to use, I just throw documents at it and it saves them. If I want an extra field, I just add it. If I want an index on something, also just add it. No big complicated schema migrations.<p>This sentence summarize all the issues developers working with Mongo will have: multiple version of documents living in the same DB and unpredictable structure<p>Best thing MongoDB have it&#x27;s definitely their marketing (making everyone think it&#x27;s amazing to invest hundreds of millions to deliver an &quot;OK&quot; tier database) and their customer support
            • cyberpunk1 hour ago
              Eh, not really. I&#x27;ve done both at considerable scale, and I don&#x27;t hit these problems. Perhaps you need better developers? For sure, having your database enforce guardrails on what $thing should look like means your code can be lower quality, but you should pick the right tool for the job. For scenarios where I have one &#x27;thing&#x27; that&#x27;s not very relational, it works well. If your application dies because your $thing expects some field which isn&#x27;t there, that&#x27;s a you problem not a storage problem.
  • bethekidyouwant9 hours ago
    Who has mongo open to the internet?
    • Culonavirus6 hours ago
      listen, I&#x27;m not saying the venn diagram between people who use mongo and people who would open it to the internet is a circle, but there is... ahem... a big overlap
    • matt32109 hours ago
      Ubisoft does
    • ctxc7 hours ago
      Acc to a comment I read elsewhere, it&#x27;s in the thousands (shodan result)
  • cpursley2 hours ago
    Obligatory (&quot;Postgres is Enough&quot;): <a href="https:&#x2F;&#x2F;gist.github.com&#x2F;cpursley&#x2F;c8fb81fe8a7e5df038158bdfe0f06dbb" rel="nofollow">https:&#x2F;&#x2F;gist.github.com&#x2F;cpursley&#x2F;c8fb81fe8a7e5df038158bdfe0f...</a>
  • empressplay7 hours ago
    [flagged]
  • freakynit7 hours ago
    Gemini generated explanation and simulation of MongoBleed: <a href="https:&#x2F;&#x2F;gemini.google.com&#x2F;share&#x2F;3529c5bb7d38" rel="nofollow">https:&#x2F;&#x2F;gemini.google.com&#x2F;share&#x2F;3529c5bb7d38</a><p>Reference: <a href="https:&#x2F;&#x2F;bigdata.2minutestreaming.com&#x2F;p&#x2F;mongobleed-explained-simply" rel="nofollow">https:&#x2F;&#x2F;bigdata.2minutestreaming.com&#x2F;p&#x2F;mongobleed-explained-...</a>