On 2/18/26 19:14, Solar Designer wrote:
Hi,

Raul Vega, CC'ed here, sent the below AI-generated message to
linux-distros on Feb 5, without disclosing the use of AI, yet correctly
set the public disclosure date to "2026-02-18 (14-day embargo per
linux-distros policy)" (or maybe the AI assistant did).
That would be the first warning sign.
   Unfortunately,
there was no further correspondence (in particular, I got no reply to my
reply, also included below), and Raul failed to bring this to
oss-security on time on his own, so I am now doing it for him.  And yes,
I consider this borderline abuse of the list, which is why my tone.

And this would be a second strike.

My summary of Raul AI's message is that Kerberos default_ccache_name
FILE is relatively unsafe compared to certain other possible kinds of
credentials cache supported via this setting, especially with respect to
local file inclusion vulnerabilities in other software such as web apps
running under the same user account.  The message suggests to use
KEYRING or KCM instead of FILE.

My summary up front:  this report is bogus.

https://web.mit.edu/kerberos/krb5-1.22/doc/basic/ccache_def.html says
FILE is the default.  So it may be a case of unsafe default.  Can the
default reasonably be changed?  "KCM caches work by contacting a daemon
process", so will require this daemon to be running, and "KEYRING is
Linux-specific, and uses the kernel keyring support".  So maybe Linux
packages can use KEYRING by default?

I would not be so sure about FILE being unsafe at all.

[...]

I'd appreciate follow-ups by those familiar with Kerberos (I'm not)
and/or its packaging.

While I cannot claim to be an expert on Kerberos, I did once seriously evaluate deploying Kerberos telnet for server administration at a previous $WORK, so I do know some aspects of the system.

[...]

On Thu, Feb 05, 2026 at 10:24:03AM +0100, Raul Vega wrote:
[vs] ADV-2026-005: Kerberos Credential Cache Lifecycle Failure and Bearer Token 
Theft
Vulnerability Type: Semantic Design Flaw / Credential Dumping

Affected Components: MIT/Heimdal Kerberos, Linux Core Dump Handlers, /tmp 
Defaults

Researcher: Raul Vega del Valle

CVSS 3.1 Base: 7.8 (AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)

CVSS 3.1 Chain: 10.0 (Critical) (When chained with RCE/LFI)

Public Disclosure Date: 2026-02-18 (14-day embargo per linux-distros policy)

Executive Summary: The Semantic Gap
The core of this vulnerability is a semantic failure in object lifecycle 
management. While the Kerberos protocol is syntactically secure, current Linux 
implementations fail to semantically bound the identity token (bearer ticket) 
to the process lifetime.

Which process lifetime are we talking about here?  The kinit command that obtains the TGT?  Bogus:  kinit is *supposed* to leave the ticket for later processes to use.  The user's session? Arguable, but that is why you are supposed to invoke kdestroy in your logout script.

The other words, this issue was addressed a long time ago and is not a problem if the environment is configured as recommended.

By weaponizing the "Crash and Trash" scenario, an attacker can transform a 
transient authentication secret into a persistent forensic artifact. This allows an 
unprivileged local attacker???or a remote attacker via an RCE/LFI chain???to bypass 
Kerberos protocol guarantees and achieve complete network-wide identity theft.

I call bogosity on this.  This does *not* extend the lifetime of the ticket.  Further, the risks of "leaked" tickets and/or keys are well-known in Kerberos, which is the reason MIT Kerberos supports rotating service and KDC keys.  (When I last checked, Active Directory had problems on this point.)

Technical Analysis
1. File-System Persistence Vector
Most Linux distributions default to the FILE: ccache type, storing tickets in 
/tmp/krb5cc_*.

The Design Flaw: These tickets are bearer tokens. Possession of the file is 
equivalent to possession of the identity.

That is not a design flaw.  That is the entire point of Kerberos single-sign-on.  The need to secure the token has been well-understood since Kerberos was invented.  A stolen ticket can be abused, exactly like a stolen password can be abused, except tickets can expire much more quickly.

Exploitation: An LFI (Local File Inclusion) vulnerability in a web application can be 
used to "pull the trash" from /tmp, granting the attacker a valid TGT (Ticket 
Granting Ticket) with a ~10-hour TTL.

Only if DAC is not being used properly.  If you are running a web application as root, you have bigger problems than stolen Kerberos tickets.

2. Memory Lifecycle Failure (Crash and Trash)
When an application handling Kerberos authentication crashes, the system 
generates a core dump (if enabled).

The Semantic Gap: The credential remains in the heap or stack during the crash. Because 
many distributions do not restrict access to core dumps or leave them in unencrypted 
storage, these secrets become "trash" that is readily harvestable via standard 
string extraction.

If, and only if, the application crashed during the authentication, or did not take proper steps to discard the credential after using it.  Again, this is (probably) an application bug, although I am not familiar enough with the Kerberos libraries to say what extent of care is taken to extinguish no-longer-needed in-memory copies of tickets.

Note that service tickets usually have much shorter lifetimes than TGTs, since they only need to be valid long enough to "run" from the KDC to the service, presenting the ticket at the latter.

If I remember correctly, stealing anything other than a TGT is useless, since service tickets are encrypted under a key in the TGT and contain a session key for talking to that service.

Impact: This bridges the gap from a simple application crash (Availability) to 
a full authentication bypass (Confidentiality/Integrity).

The Grand Chain: The Case for CVSS 10.0
While the individual components may be rated "High," the Semantic Addressing of 
this flaw creates a critical chain:

Entry (RCE/LFI): Attacker gains limited execution or read access via a library 
flaw (e.g., Axios SSRF or Undici CRLF).

Pivot (ADV-2026-005): Attacker provokes a crash or reads /tmp to dump the 
Kerberos ccache.

Assuming DAC is properly used, (and a bug where it is not would have been found *long* ago) the chain is killed here unless the attacker has code execution under the targeted user's account, in which case single-sign-on would be working properly.

Escalation: The stolen ticket is replayed from the attacker's machine to access 
internal high-value targets (LDAP, S3 via IMDSv2, etc.).

Maybe.  Kerberos TGTs can be restricted to network addresses of the host to which they were issued.

Result: Total identity takeover across the infrastructure without triggering traditional 
"credential theft" alerts.

If the TGT was restricted (optional) to the user's box, the KDC is going to notice when the attacker tries to use it from another node...

Actionable Remediations for Distributions
Distributions are requested to evaluate the following systemic changes to their 
default configurations:

Restrict core_pattern: Ensure core dumps are directed to a secure, root-only 
directory by default.

The only requirement is that core dumps are not readable by other users.  They need not go to any specific directory.  There is no gain from reading the core file *as* the user because any process belonging to that user can already use the user's Kerberos credentials.  (That is what single-sign-on *means*.)

Default to KEYRING:: Shift the default default_ccache_name in /etc/krb5.conf 
from FILE to KEYRING or KCM (Kerberos Credential Manager) to keep tickets in 
unswappable, process-bound kernel memory.

I call bogosity here.  The FILE credential store remains safe as long as it is properly secured and the user's account is not otherwise breached.  (Again, any task running as the user can authenticate with the user's credentials.  That is what single-sign-on *means*.)

Enforce fs.suid_dumpable: Harden kernel parameters to prevent unprivileged 
dumping of sensitive processes.

One of the design features of Kerberos (as I recall) is precisely that it does *not* require privileged processes run by the user. In other words, this is useless in this context, although it might be useful for defense-in-depth in general.

Researcher: Raul Vega del Valle

PGP Fingerprint: [Your Fingerprint]

And here we see that this clown could not even be bothered to proofread his AI slop enough to recognize that the AI had left a blank to fill in.

On Fri, Feb 06, 2026 at 10:06:18AM +0100, Solar Designer wrote:
Hello Raul,

[...]

On Thu, Feb 05, 2026 at 10:24:03AM +0100, Raul Vega wrote:
[...]
Technical Analysis
1. File-System Persistence Vector
Most Linux distributions default to the FILE: ccache type, storing tickets in 
/tmp/krb5cc_*.
What are the owners and permissions of those files?

If they are not owned by the user and mode 0600, this would be a bug in Kerberos that would have been exploited mercilessly on the shared systems used long ago.  I would be *very* surprised if the DAC permissions on those files are wrong.

Exploitation: An LFI (Local File Inclusion) vulnerability in a web application can be 
used to "pull the trash" from /tmp, granting the attacker a valid TGT (Ticket 
Granting Ticket) with a ~10-hour TTL.
Would a web application have permissions to read the /tmp/krb5cc_* files?

If it does, you have bigger problems than stolen Kerberos tickets.

Because many distributions do not restrict access to core dumps
Which ones, for example?  And what do you mean by "do not restrict"?

I believe that this means the AI was hallucinating.

Actionable Remediations for Distributions
Distributions are requested to evaluate the following systemic changes to their 
default configurations:

Restrict core_pattern: Ensure core dumps are directed to a secure, root-only 
directory by default.
This is typical already.  However, you can commonly access your own
coredumps.  Same with your own /tmp files.

So are you talking about potential restrictions within the same user
account, so that sensitive information processed and available to the
user previously does not remain available to the user for too long?

Something like this could conceivably be implemented with SELinux, only allowing processes that are supposed to be using Kerberos to access the credential cache files, but I have not looked into it.

How exactly does fs.suid_dumpable come into play, then?  In other words,
do your suggested attacks involve processes that are "dumpable" or/and
those that are not?  Which ones?  Please be very specific.

I am fairly sure that, at least as far as Kerberos is concerned, it does not come into play.  Another hallucination.

I suggest that you clarify the above things in the public revision of
your advisory.  As it is, it reads like a mix of sensible content with
everything else an LLM "thought" is relevant, plus the sensationalism.
Can we have a public Hall of Shame for AI-slop bogus reports?  I nominate "Raul Vega del Valle" with this report as the inaugural entry.  Any seconds?


-- Jacob

Reply via email to