Hacktoberfest 2026: as issues que os mantenedores marcaram para outubro, abertas e boas para iniciantes. Ver issues do Hacktoberfest

Cron: malformed tenant annotation can stop scheduled actions of other tenants

Fechada
#275 0 comentários 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

Avaliação

Dificuldade
3/5
Tempo estimado
1-2 dias
Facilidade para iniciantes
20/100
Tipo de issue
Bug
Clareza
Claramente especificada
Status de atividade
Estagnada
Stack de tecnologia
kubernetes, python
Domínio
backend, cloud

Direção de pesquisa

The proposed fix is in openserverless-operator for branch 0.9.0, and PR #144 is already open. Read that pull request and its regression test for two tenants with valid recurring and one-shot actions; done means malformed annotations are rejected and do not prevent other scheduled actions from running.

Escrita pelo modelo de indexação a partir do texto da issue.

Descrição

bug

The OpenServerless 0.9.0 Cron scheduler processes scheduled actions from all namespaces in one batch. An authenticated tenant can persist a malformed cron annotation on an action in its own namespace. The scheduler passes that value to the cron parser without checking its type; an uncaught exception can stop the batch before later tenants' actions are processed. The annotation persists, so subsequent scheduled runs can be affected as well.

Impact: cross-tenant availability of scheduled actions when the Cron component is enabled. This requires a normal tenant credential. We found no anonymous entry point, cross-tenant invocation, or credential disclosure in this path.

Proposed change in openserverless-operator for branch 0.9.0: reject non-string, empty, and excessively long cron expressions before parsing; isolate errors while processing each action so one malformed action cannot stop the remaining batch; add a regression test covering two tenants and valid recurring/one-shot actions.

Validation: the regression reproduced the failure before the fix in a local harness and passed afterward with the pinned croniter 1.4.1. In an isolated K3s lab, Alpha and Beta each produced two fresh scheduled heartbeats while a malformed Alpha action existed. A scheduler job logged the malformed Alpha annotation before successfully dispatching Beta's heartbeat action. The malformed action was removed after the test, and the baseline CronJob image was restored.

Proposed fix: https://github.com/apache/openserverless-operator/pull/144 (target branch 0.9.0).

Linguagem predominante
Python
Estrelas
577
Forks
29
Merge médio
3d 17h
PRs com merge (30d)
4

Preparar o ambiente

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Mais de apache/openserverless

Todas as issues de apache/openserverless

Issues semelhantes

Mais issues de Python

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.