Pains

726 pains collected

Severity:

Corrupted or malicious npm package code breaking builds worldwide

9

Popular npm libraries like Faker.js and Colors.js have had their source code corrupted by maintainers, causing widespread build failures across millions of dependent projects. When heavily-used small modules maintained by 1-2 people break, the impact cascades globally.

dependencynpmFaker.jsColors.js

Poor page rendering performance at scale

9

Next.js exhibits slow page rendering performance in production: basic pages take 200-400ms, large dynamic pages exceed 700ms, and crawlers hitting multiple pages simultaneously cause site crashes. Caching is unpredictable across replicas.

performanceNext.js

Insecure default configurations enabling privilege escalation

9

Deploying containers with insecure settings (root user, 'latest' image tags, disabled security contexts, overly broad RBAC roles) persists because Kubernetes doesn't enforce strict security defaults. This exposes clusters to container escape, privilege escalation, and unauthorized production changes.

securityKubernetesRBAC

API Route Security Issues in Next.js

9

Next.js API routes are vulnerable to injection attacks (SQL, NoSQL, command injection), rate limiting bypass, information disclosure through error messages, and missing input validation.

securityNext.js

Hardcoded backend configuration leads to destructive state file mismatches

9

When copying root modules without updating backend configuration (key/prefix), Terraform can reference the wrong state file, resulting in destructive plans that delete infrastructure belonging to another environment or project.

configTerraformstate backends

Cross-Site Scripting (XSS) Vulnerabilities in Next.js

9

XSS attacks can occur in Next.js through improper use of dangerouslySetInnerHTML, unvalidated user input in dynamic content, third-party scripts, and server-side rendering of malicious content.

securityNext.jsReact

Authentication and Authorization Flaws in Next.js

9

Common vulnerabilities include insecure session management, weak token validation, missing authorization checks on API routes, and client-side only authentication without server-side validation.

securityNext.js

Sensitive data exposure in state and plan artifacts

9

Terraform stores real secret values (API tokens, database passwords) in plaintext state files and plan output despite showing (sensitive value) in the CLI. When plan files are uploaded as CI/CD artifacts, they become security liabilities if accessible to unauthorized parties.

securityTerraformCI/CD

Local state files without remote backends cause team collaboration and disaster recovery issues

8

State files stored locally (default) instead of on remote backends (S3, GCS) prevent team collaboration, create single points of failure, and make disaster recovery impossible. Developers must manually manage state file access.

storageTerraformstate backendsS3

Unsafe plan review and hidden destructive changes in large changesets

8

Terraform plans with hundreds or thousands of changes are difficult for humans to review reliably. Destructive actions (resource deletion/recreation) hide in the noise of benign changes, making it easy to miss critical issues during code review.

dxTerraform

Shared Kernel Isolation False Security in Containers

8

Docker containers rely on Linux kernel namespaces and cgroups for isolation rather than hardware virtualization. This creates a false sense of isolation—if a kernel vulnerability exists, all running containers inherit it. Container security is critically dependent on timely kernel updates to mitigate container escape vulnerabilities.

securityDocker

No In-Place Major Version Upgrades

8

PostgreSQL does not support in-place major version upgrades. Upgrades require either dumping and restoring the entire dataset or setting up logical replication, with rigorous application compatibility testing required. Delaying upgrades increases complexity and risk, as outdated versions miss critical security patches, transforming routine maintenance into a complex, high-risk migration project.

migrationPostgreSQL

Table corruption issues in PostgreSQL

8

PostgreSQL experiences table corruption problems that can result in data integrity issues. This was significant enough to motivate organizations like Uber to evaluate alternative databases.

storagePostgreSQL

Resource refactoring is destructive and risky

8

Renaming or reorganizing resources in Terraform code causes them to be destroyed and recreated rather than updated, risking catastrophic downtime and data loss for stateful resources like databases. There is no native refactoring capability.

dxTerraform

Multi-cluster visibility and context gaps

8

Production Kubernetes deployments span multiple clusters across clouds, regions, and environments without centralized visibility. When incidents occur, teams lack context on what broke and where, leading to slower incident detection, configuration drift, and higher outage risk.

monitoringKubernetes

Ecosystem fragmentation and dependency management chaos

8

PyPI security breaches forced strict corporate policies, fragmented package management (pip/conda), and critical libraries like NumPy and Pandas struggle with GPU demands, creating incompatible forks and version conflicts.

dependencyPythonPyPIpip+3

Enforcing consistent security posture across hybrid multi-cloud

8

Maintaining consistent security posture, audit trails, and supply-chain guarantees across cloud and on-premises environments with multiple vendor distributions and custom images is extremely difficult. Kubernetes distributions and custom images fragment security enforcement.

securityKubernetes

Complex surrounding infrastructure requiring deep expertise

8

The real challenge in Kubernetes deployment goes beyond cluster setup to configuring RBAC, secrets management, and infrastructure-as-code. Teams without prior experience make decisions that require painful redesigns later, as shown by organizations requiring 50% of their year dedicated to cluster maintenance.

configKubernetesRBACIaC

Required checks cannot dynamically match triggered workflows in monorepos

8

GitHub Actions requires explicitly naming required status checks, but in monorepos with dynamic pipelines, only relevant checks should be mandatory. If a PR only touches `api1` but `web-app1` checks aren't triggered, the PR cannot merge even though all relevant checks passed. This forces developers to run unnecessary pipelines just to satisfy merge requirements.

configGitHub Actions

Python's Global Interpreter Lock (GIL) limits concurrent performance

8

The GIL remains unresolved, forcing developers to use workarounds like multiprocessing or rewrite performance-critical code in other languages. This blocks real-time applications and makes Python non-competitive for high-concurrency workloads.

performancePythonmultiprocessing

Missing database indexes and unoptimized queries cause severe production slowdowns

8

Common mistakes include missing database indexes on frequently queried columns, fetching entire tables instead of specific rows, and not using connection pooling. Queries that work fine in development with 100 rows can take 3+ seconds in production with 50,000 rows and no indexes instead of 30 milliseconds.

performanceNext.js

Running outdated, unsupported Kubernetes versions

8

31% of organizations still run unsupported Kubernetes versions, missing vital security and performance patches. Each skipped release compounds technical debt and increases API breakage risks when eventually upgrading.

compatibilityKubernetes

IAM misconfiguration and access control vulnerabilities

8

Misconfigured IAM roles and permissions leave AWS environments vulnerable to unauthorized access. Developers must carefully manage user access and permissions to prevent security breaches.

securityAWS IAM

GitHub Actions log viewer crashes on large logs

8

The GitHub Actions log viewer is unreliable and crashes browsers when viewing long build logs or searching through them. Developers report that Chrome crashes repeatedly when trying to debug failed builds, making it the only major CI system with this critical usability issue.

debugGitHub Actions