Habr•October 16, 2026•🇷🇺Translated from Russian

Securing Hadoop Clusters: Removing Passwords from XML Configs with Credential Provider API and JCEKS

One day in a Hadoop cluster, opening hive-site.xml revealed the metastore password stored in clear text. The file was readable by the entire hadoop group, multiple services, and dozens of engineers with cluster access. While formally a violation of basic security norms, this practice remains widespread.

Removing the password proved straightforward thanks to Hadoop’s built-in mechanism, yet it raised a deeper question: once the password disappeared from the config, where did it go, and did security actually improve?

Egor Ivshin, security analyst at Arenadata, is responsible for the security of the ADH product. His role involves identifying vulnerabilities through SCA, SAST, and manual testing, then working with development teams on remediation.

Origin of Secrets in Hadoop Configs

Components such as Hive, Spark, and HBase commonly store sensitive values including database passwords, encryption keys, and S3 tokens directly in XML files. Typical examples include javax.jdo.option.ConnectionPassword in hive-site.xml and AWS credentials in core-site.xml.

Historical tutorials, the need for rapid deployment, and simple inertia explain why clear-text storage persists. The result is uncontrolled proliferation of secrets across backups, developer laptops, and public repositories.

How Credential Provider API Works

The Credential Provider API lets applications request passwords from a provider rather than reading them from XML. When hadoop.security.credential.provider.path points to a JCEKS location, conf.getPassword() checks the keystore first. If the alias is absent and hadoop.security.credential.clear-text-fallback is false, the application fails instead of falling back to the XML value.

Not every component calls getPassword(); those using plain get() require either code changes or continued XML storage.

JCEKS Structure and Limitations

JCEKS is a Java keystore format that stores encrypted aliases. Hadoop supports jceks://file, localjceks://file, and jceks://hdfs URIs. HDFS storage simplifies synchronization and rotation for most services.

The format is locked to the PBEWithMD5AndTripleDES algorithm. Although NIST deprecated 3DES in 2018 and Sweet32 demonstrated practical collision attacks after 32 GB of data, the small size of keystore files keeps real-world risk low. Stronger algorithms require alternative formats or external secret managers such as OpenBao.

Protecting the Master Password

Security ultimately depends on the master password used to unlock the JCEKS file. Common approaches include environment variables, a dedicated password file with strict permissions (chmod 400), or relying on HDFS Transparent Data Encryption so no additional password is needed.

Environment variables are visible via /proc and core dumps. Password files can be placed on tmpfs but still require distribution and rotation across nodes.

Rotation and Automation in ADCM

Manual rotation involves creating a new JCEKS, updating permissions, and restarting services. Arenadata automates this via the “Manage credential encryption” action in ADCM. After execution, JCEKS files receive 640 permissions for local storage and 755 for HDFS paths, balancing security with operational requirements.

Alias names must exactly match the property names referenced in XML. The hadoop credential list command confirms stored aliases without revealing values.

Related articles

Habr•Vulnerabilities & Exploits

Automating Asset Scanning in MaxPatrol VM via API: Part 4 on Authentication

A detailed technical guide explains how to build asset scanning automation in MaxPatrol VM using its API, starting with authentication methods. The author covers three authorization options including local account login-password, domain account credentials, and reference tokens, providing working Python examples for local accounts. Code reads secrets from an .env file and obtains a Bearer token valid for 24 hours from the Core role instance. The post details required privileges in both the Management Console and MaxPatrol 10 for tasks such as vulnerability exports, dynamic asset group management, scan task creation, and report exporting. It credits Alexey Leonov for an early GitHub script that enabled practical API usage and lists additional resources including webinars, SDK, CLI, Jira integration, and a Postman collection. All subsequent API calls rely on the generated headers containing the Bearer token.

Security NEXT•Vulnerabilities & Exploits

CISA Adds Five Exploited Vulnerabilities to KEV Catalog Including AhsayCBS Authentication and Command Injection Flaws

The US Cybersecurity and Infrastructure Security Agency (CISA) has added five vulnerabilities to its Known Exploited Vulnerabilities catalog after confirming active exploitation in the wild. Four vulnerabilities were registered on October 14, 2026, and one additional entry followed on October 15. Among the newly listed issues are two critical flaws affecting the AhsayCBS backup management server: CVE-2026-105133, an authentication bypass in the API, and CVE-2026-105134, a command injection vulnerability in the replication feature. When chained together, the pair allows unauthenticated remote attackers to execute arbitrary operating system commands. Vendor Ahsay has released hotfixes in versions 10.3.4.45 and 9.15.2.70 because standard patches cannot fully address the issues. The advisory also references vulnerabilities in Atlassian products and multiple network security solutions from other vendors.

Security NEXT•Vulnerabilities & Exploits

Google Issues Chrome Security Update Fixing Critical Vulnerability Two Days After Previous Patch

Google has released a new set of security updates for its Chrome browser that address ten vulnerabilities, including one rated critical. The update arrives just two days after a larger patch that fixed 37 issues on October 13. The most severe flaw, tracked as CVE-2026-110922, is a use-after-free vulnerability in the Prerender feature that could allow remote code execution. The company released Chrome 155.0.8059.85 and 155.0.8059.84 for Windows and macOS, along with Chrome 155.0.8059.84 for Linux on October 15. The critical issue was reported by an external researcher on October 2. Deployment will occur gradually over the next several days to weeks.

Habr•Vulnerabilities & Exploits

543 Vulnerabilities in FFmpeg: Hunting Flaws in the Industry Standard

FFmpeg, the open-source library serving as the de facto standard for audio and video processing in mobile apps, carries approximately 543 registered CVEs that frequently appear in bug bounty programs. A Quokka report on over 150,000 applications found critical third-party CVEs in 11% of Android and 13% of iOS apps, with high-severity issues in 65% of Android applications. The article examines three notable vulnerabilities including PixelSmash (CVE-2026-8461), HTTP chunked overflow (CVE-2016-10190), and an AV1 RTP depacketizer flaw (DFVULN-127), each enabling remote code execution through memory corruption. It provides practical guidance on locating FFmpeg binaries inside APKs, identifying integration patterns, determining versions via strings and NDK timestamps, and extracting build configurations to confirm enabled components. Analysts are shown how to locate protocol handlers that serve as entry points without requiring malicious media files. The material targets reverse engineers experienced with ELF libraries and memory corruption issues.